diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index d815f4f..daab41d 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,47 +1,56 @@ name: Deploy (main) on: - push: - branches: [ "main" ] - workflow_dispatch: + push: + branches: ["main"] + workflow_dispatch: jobs: - build-and-deploy: - runs-on: ubuntu-latest - permissions: - contents: read + build-and-deploy: + runs-on: ubuntu-latest + permissions: + contents: read - steps: - - name: Checkout - uses: actions/checkout@v4 + steps: + - name: Checkout + uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - - name: Login to registry - uses: docker/login-action@v3 - with: - registry: ${{ secrets.REGISTRY }} - username: ${{ secrets.REGISTRY_USER }} - password: ${{ secrets.REGISTRY_PASSWORD }} + - name: Login to registry + uses: docker/login-action@v3 + with: + registry: ${{ secrets.REGISTRY }} + username: ${{ secrets.REGISTRY_USER }} + password: ${{ secrets.REGISTRY_PASSWORD }} - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: . - push: true - tags: | - ${{ secrets.REGISTRY }}/${{ secrets.IMAGE_NAME }}:latest - ${{ secrets.REGISTRY }}/${{ secrets.IMAGE_NAME }}:${{ github.sha }} + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: | + ${{ secrets.REGISTRY }}/${{ secrets.IMAGE_NAME }}:latest + ${{ secrets.REGISTRY }}/${{ secrets.IMAGE_NAME }}:${{ github.sha }} - - name: Deploy via SSH - uses: appleboy/ssh-action@v1.0.3 - with: - host: ${{ secrets.SSH_HOST }} - username: ${{ secrets.SSH_USER }} - key: ${{ secrets.SSH_KEY }} - port: ${{ secrets.SSH_PORT }} - script: | + - name: Deploy via SSH + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USER }} + key: ${{ secrets.SSH_KEY }} + port: ${{ secrets.SSH_PORT }} + script: | cd ${{ secrets.DEPLOY_PATH }} - docker compose --env-file .env.production pull - docker compose --env-file .env.production up -d + cat << 'EOF' > .env + ${{ secrets.DEPLOY_ENV_FILE }} + EOF + + # Export variables from .env file + set -a + source .env + set +a + + docker compose --env-file .env pull + docker compose --env-file .env up -d