leiyun 1 неделю назад
Родитель
Сommit
c7b58067a8
3 измененных файлов: 37 добавлений и 7 удалений
  1. +10
    -2
      isolated/build-update.sh
  2. +1
    -1
      isolated/deploy-from-url.sh
  3. +26
    -4
      isolated/publish-cos.sh

+ 10
- 2
isolated/build-update.sh Просмотреть файл

@@ -319,10 +319,17 @@ save_images
archive_package
publish_package

cat <<EOF
if [[ "$COS_UPLOAD" == "1" ]]; then
cat <<EOF

COS upload finished. Use the "Target deploy command" above on the target server.

EOF
else
cat <<EOF

Next steps on target server:
DEPLOY_ENV=$DEPLOY_ENV bash deploy-from-url.sh "<COS signed URL>"
Copy $(basename "$PACKAGE_ARCHIVE") to the target server, then run:

Manual fallback:
mkdir -p /tmp/emp-update
@@ -331,3 +338,4 @@ Manual fallback:
bash apply-update.sh

EOF
fi

+ 1
- 1
isolated/deploy-from-url.sh Просмотреть файл

@@ -8,7 +8,7 @@ set -Eeuo pipefail

DEPLOY_ENV="${DEPLOY_ENV:-emp-test}"
PROJECT_NAME="${PROJECT_NAME:-$DEPLOY_ENV}"
DEPLOY_HOME="${DEPLOY_HOME:-/home/admin-x99/$DEPLOY_ENV}"
DEPLOY_HOME="${DEPLOY_HOME:-/home/admin-x99/emp/$DEPLOY_ENV}"
PACKAGE_URL="${1:-}"
EXPECTED_SHA256="${PACKAGE_SHA256:-${2:-}}"
RUN_ID="${RUN_ID:-$(date '+%Y%m%d%H%M%S')}"


+ 26
- 4
isolated/publish-cos.sh Просмотреть файл

@@ -12,6 +12,7 @@ set -Eeuo pipefail
# COS_KEY=deploy/emp-uat/update/package.tar.gz
# COS_SIGN_EXPIRE=604800
# COS_CONFIG_PATH=/path/to/.cos.yaml
# TARGET_BASE_DIR=/home/admin-x99/emp

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

@@ -19,6 +20,7 @@ DEPLOY_ENV="${DEPLOY_ENV:-emp-test}"
PACKAGE_KIND="${PACKAGE_KIND:-}"
COSCLI_BIN="${COSCLI_BIN:-coscli}"
COS_SIGN_EXPIRE="${COS_SIGN_EXPIRE:-604800}"
TARGET_BASE_DIR="${TARGET_BASE_DIR:-/home/admin-x99/emp}"

log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
@@ -55,6 +57,28 @@ infer_package_kind() {
fi
}

print_target_deploy_command() {
local target_deploy_home target_script_dir
target_deploy_home="${TARGET_DEPLOY_HOME:-$TARGET_BASE_DIR/$DEPLOY_ENV}"

if [[ "$PACKAGE_KIND" == "update" ]]; then
target_script_dir="${TARGET_SCRIPT_DIR:-$target_deploy_home/runtime}"
else
target_script_dir="${TARGET_SCRIPT_DIR:-$TARGET_BASE_DIR}"
fi

cat <<EOF

Target deploy command:
cd "$target_script_dir" && \\
DEPLOY_ENV=$DEPLOY_ENV \\
DEPLOY_HOME=$target_deploy_home \\
PACKAGE_SHA256=$SHA256 \\
bash deploy-from-url.sh '$SIGNED_URL'

EOF
}

build_coscli_opts() {
COSCLI_OPTS=()

@@ -113,8 +137,6 @@ Package: $PACKAGE_FILE
COS Key: $COS_KEY
SHA256: $SHA256
URL: $SIGNED_URL

Target deploy command:
DEPLOY_ENV=$DEPLOY_ENV PACKAGE_SHA256=$SHA256 bash deploy-from-url.sh "$SIGNED_URL"

EOF

print_target_deploy_command

Загрузка…
Отмена
Сохранить