name: Build Backend Application and Docker Image on: push: branches: - main workflow_dispatch: jobs: build-docker: runs-on: ubuntu-latest permissions: packages: write steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: git.siwatsystem.com username: ${{ github.actor }} password: ${{ secrets.RUNNER_TOKEN }} - name: Build and push Docker image uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile push: true tags: git.siwatsystem.com/adsist-cms/worker:latest deploy-stack: needs: build-docker runs-on: adsist steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up SSH connection run: | mkdir -p ~/.ssh echo "${{ secrets.DEPLOY_KEY_CMS }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H ${{ vars.DEPLOY_HOST_CMS }} >> ~/.ssh/known_hosts - name: Deploy stack run: | echo "Pulling and starting containers on server..." ssh -i ~/.ssh/id_rsa ${{ vars.DEPLOY_USER_CMS }}@${{ vars.DEPLOY_HOST_CMS }} "cd ~/cms-system-k8s && docker compose pull && docker compose up -d"