feat(ci): 服务端 server-v* 编译+release+部署(备份/迁移/回滚,复用 lib-ssh/lib-forgejo)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
# release-server.sh — ensure the Forgejo release for a server-v* tag exists
|
||||
# and upload the three compiled binaries as release assets. Assumes
|
||||
# compile-backend.sh has already produced
|
||||
# server/out/{pangolin-server,pangolin-agent,pangolin-migrate}.
|
||||
#
|
||||
# Usage: scripts/ci/release-server.sh <tag> (e.g. server-v1.2.3)
|
||||
# Requires env: FORGEJO_URL, FORGEJO_TOKEN (see lib-forgejo.sh).
|
||||
set -euo pipefail
|
||||
|
||||
TAG="${1:?usage: release-server.sh <tag>}"
|
||||
|
||||
# shellcheck source=scripts/ci/_env.sh
|
||||
. scripts/ci/_env.sh
|
||||
# shellcheck source=scripts/ci/lib-forgejo.sh
|
||||
. scripts/ci/lib-forgejo.sh
|
||||
|
||||
# No command substitution ($()): ver_from_tag prints to stdout, captured via
|
||||
# a temp file + `read`, same no-substitution pattern as lib-forgejo.sh.
|
||||
ver_file="/tmp/release_server_ver.$$"
|
||||
ver_from_tag server "$TAG" > "$ver_file"
|
||||
VER=""
|
||||
read -r VER < "$ver_file"
|
||||
rm -f "$ver_file"
|
||||
|
||||
echo "==> release-server: tag=${TAG} ver=${VER}"
|
||||
|
||||
forgejo_release_ensure "$TAG" "server ${VER}"
|
||||
|
||||
forgejo_upload_asset "$TAG" server/out/pangolin-server
|
||||
forgejo_upload_asset "$TAG" server/out/pangolin-agent
|
||||
forgejo_upload_asset "$TAG" server/out/pangolin-migrate
|
||||
|
||||
echo "==> release-server: done"
|
||||
Reference in New Issue
Block a user