diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index c3f6beb..9883209 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -19,16 +19,20 @@ jobs: with: python-version: "3.12" - - name: Configure test environment + - name: Install dependencies and run tests env: AMAP_TEST_ENV_FILE: ${{ secrets.AMAP_TEST_ENV_FILE }} run: | + set -euo pipefail + test -n "$AMAP_TEST_ENV_FILE" printf '%s\n' "$AMAP_TEST_ENV_FILE" > .env chmod 600 .env - - name: Install dependencies and run tests - run: | + set -a + . ./.env + set +a + python -m venv .venv .venv/bin/python -m pip install --upgrade pip .venv/bin/python -m pip install -r backend/requirements.txt @@ -38,6 +42,8 @@ jobs: env: DEPLOY_SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_SSH_PRIVATE_KEY }} run: | + set -euo pipefail + test -n "$DEPLOY_SSH_PRIVATE_KEY" install -d -m 700 "$HOME/.ssh" @@ -47,6 +53,7 @@ jobs: - name: Check Amap VM connection run: | ssh \ + -o BatchMode=yes \ -o StrictHostKeyChecking=accept-new \ amap@192.168.1.96 \ "echo Connected to Amap VM" @@ -54,6 +61,7 @@ jobs: - name: Create backup run: | ssh \ + -o BatchMode=yes \ -o StrictHostKeyChecking=accept-new \ amap@192.168.1.96 \ "sudo systemctl start create-backup.service" @@ -63,8 +71,10 @@ jobs: tar \ --exclude=.git \ --exclude=.venv \ + --exclude=.env \ -czf - . | ssh \ + -o BatchMode=yes \ -o StrictHostKeyChecking=accept-new \ amap@192.168.1.96 \ "mkdir -p /home/amap/service && @@ -74,18 +84,23 @@ jobs: env: AMAP_ENV_FILE: ${{ secrets.AMAP_ENV_FILE }} run: | + set -euo pipefail + test -n "$AMAP_ENV_FILE" printf '%s\n' "$AMAP_ENV_FILE" | ssh \ + -o BatchMode=yes \ -o StrictHostKeyChecking=accept-new \ amap@192.168.1.96 \ "umask 077 && mkdir -p /home/amap/service && cat > /home/amap/service/.env" + - name: Build and deploy on Amap VM run: | ssh \ + -o BatchMode=yes \ -o StrictHostKeyChecking=accept-new \ amap@192.168.1.96 \ "cd /home/amap/service &&