From cfc3f371dedecfbf9adbaf850c15add5c74dc53b Mon Sep 17 00:00:00 2001 From: root Date: Sun, 9 Aug 2026 13:20:18 -0400 Subject: [PATCH] add copy deployment setup to vps --- .gitea/workflows/build-and-deploy.yml | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index b61ce7b..88a1397 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -421,3 +421,38 @@ jobs: docker push '$IMAGE_LATEST' fi " + + - name: Publish deployment files to VPS + env: + IMAGE_REPOSITORY: ${{ steps.image-meta.outputs.repository }} + IMAGE_TAG: ${{ gitea.sha }} + REMOTE_BUILD_DIR: ${{ env.DEPLOY_ROOT }}/build-context + VPS_HOST: ${{ secrets.VPS_IP }} + run: | + VPS_HOST="${VPS_HOST:-$DEPLOY_SSH_HOST}" + if [ -z "$VPS_HOST" ]; then + echo "::error::VPS_IP secret or DEPLOY_SSH_HOST is required" + exit 1 + fi + SSH_OPTIONS="-i $HOME/.ssh/id_rsa -o BatchMode=yes -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=$HOME/.ssh/known_hosts" + ssh $SSH_OPTIONS "${{ secrets.VPS_USER }}@$VPS_HOST" " + set -e + cd '$REMOTE_BUILD_DIR' + mkdir -p '$DEPLOY_ROOT/scripts' + cp docker-compose.production.yml '$DEPLOY_ROOT/docker-compose.production.yml' + cp docker-compose.portainer.production.yml '$DEPLOY_ROOT/docker-compose.portainer.production.yml' + cp docker-compose.registry.production.yml '$DEPLOY_ROOT/docker-compose.registry.production.yml' + cp traefik.yaml '$DEPLOY_ROOT/traefik.yaml' + cp scripts/apply-env-secret-overrides.sh '$DEPLOY_ROOT/scripts/apply-env-secret-overrides.sh' + cp scripts/describe-env-values.sh '$DEPLOY_ROOT/scripts/describe-env-values.sh' + cp scripts/docker-prod-*.sh '$DEPLOY_ROOT/scripts/' + cp scripts/preserve-env-values.sh '$DEPLOY_ROOT/scripts/preserve-env-values.sh' + chmod +x '$DEPLOY_ROOT/scripts/'*.sh + printf '%s\n' \ + 'APP_IMAGE=$DEPLOY_REGISTRY_HOST/$IMAGE_REPOSITORY' \ + 'IMAGE_TAG=$IMAGE_TAG' \ + 'REGISTRY_HOST=$DEPLOY_REGISTRY_HOST' \ + > '$DEPLOY_ROOT/release.env' + chmod 600 '$DEPLOY_ROOT/release.env' + echo 'Deployment files published to $DEPLOY_ROOT. Production was not deployed.' + "