feat(deploy): add Jenkins production deployment pipeline
This commit is contained in:
30
scripts/rollback-prod.sh
Executable file
30
scripts/rollback-prod.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PREVIOUS_IMAGE_TAG="${1:-}"
|
||||
DEPLOY_PATH="${DEPLOY_PATH:-/opt/plesk-agency-portal}"
|
||||
APP_BASE_URL="${APP_BASE_URL:-}"
|
||||
|
||||
if [ -z "${PREVIOUS_IMAGE_TAG}" ]; then
|
||||
echo "Usage: $0 <previous-image-tag>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "${APP_BASE_URL}" ]; then
|
||||
echo "APP_BASE_URL is required" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "${DEPLOY_PATH}/docker-compose.prod.yml" ]; then
|
||||
echo "Missing docker-compose.prod.yml in ${DEPLOY_PATH}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "${DEPLOY_PATH}"
|
||||
|
||||
APP_IMAGE="${PREVIOUS_IMAGE_TAG}" docker compose -f docker-compose.prod.yml up -d --no-build
|
||||
|
||||
"${DEPLOY_PATH}/smoke-check.sh" "${APP_BASE_URL}"
|
||||
|
||||
docker compose -f docker-compose.prod.yml ps
|
||||
Reference in New Issue
Block a user