fix(deploy): 修复组件版本解析和安装升级验收流程
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# Real anonymous image preflight for the complete README installation, no daemon mutations.
|
||||
set -euo pipefail
|
||||
unset UPDATE_SERVICES UPDATE_RELEASE_VERSION UPDATE_SERVER_VERSION UPDATE_WEB_VERSION UPDATE_GATEWAY_VERSION UPDATE_WORKER_VERSION UPDATE_UPDATER_VERSION UPDATE_ASG_VERSION UPDATE_AMS_VERSION
|
||||
unset UPDATE_MANIFEST_SOURCE UPDATE_MANIFEST_URL
|
||||
source_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
manifest_source=''
|
||||
while [ "$#" -gt 0 ]; do
|
||||
case "$1" in
|
||||
--version) export DEPLOY_RELEASE_VERSION="${2:?缺少版本}"; shift 2 ;;
|
||||
--manifest) manifest_source="$(cd "$(dirname "${2:?缺少发布记录}")" && pwd)/$(basename "$2")"; shift 2 ;;
|
||||
*) echo '用法:bash scripts/check-deployment-release.sh [--version 完整版本] [--manifest 发布记录]' >&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
if [ -n "$manifest_source" ] && ! [[ "${DEPLOY_RELEASE_VERSION:-}" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]{8}(\.[0-9]+)?$ ]]; then
|
||||
echo '--manifest 必须同时指定完整 --version' >&2
|
||||
exit 1
|
||||
fi
|
||||
temporary="$(mktemp -d "${TMPDIR:-/tmp}/easyai-release-check.XXXXXX")"
|
||||
trap 'rm -r "$temporary"' EXIT
|
||||
cp "$source_root/docker-compose.yml" "$temporary/"
|
||||
cp -R "$source_root/scripts" "$source_root/system-update" "$temporary/"
|
||||
if [ -n "$manifest_source" ]; then cp "$manifest_source" "$temporary/system-update/releases/${DEPLOY_RELEASE_VERSION}.json"; fi
|
||||
for name in .env .env.tools .env.ASG .env.AMS; do cp "$source_root/$name.sample" "$temporary/$name"; done
|
||||
cd "$temporary"
|
||||
. ./scripts/init-security-env.sh
|
||||
. ./scripts/init-application-version-env.sh
|
||||
write_env_value .env UPDATE_MANIFEST_SOURCE local
|
||||
plan_application_versions .env
|
||||
apply_application_versions .env
|
||||
if docker compose version >/dev/null 2>&1; then compose=(docker compose); else compose=(docker-compose); fi
|
||||
configuration="$("${compose[@]}" config --format json)"
|
||||
printf '%s' "$configuration" | python3 ./scripts/verify-deployment-images.py
|
||||
Reference in New Issue
Block a user