name: Docker Build and Deploy on: push: branches: - master jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Container Registry uses: docker/login-action@v2 with: registry: ${{ secrets.MY_GITEA_REGISTRY_URL }} username: ${{ secrets.MY_GITEA_USERNAME }} password: ${{ secrets.MY_GITEA_PASSWORD }} - name: Build and push uses: docker/build-push-action@v3 with: context: . push: true tags: | ${{ secrets.MY_GITEA_REGISTRY_URL }}/quant/make-quant-py:${{ gitea.sha }} ${{ secrets.MY_GITEA_REGISTRY_URL }}/quant/make-quant-py:latest deploy: needs: build-and-push runs-on: ubuntu-latest steps: - name: Deploy to server uses: appleboy/ssh-action@master with: host: ${{ secrets.DEPLOY_HOST }} username: ${{ secrets.DEPLOY_USER }} key: ${{ secrets.DEPLOY_SSH_KEY }} script: | cd ${{ secrets.DEPLOYMENT_PATH }} echo "${{ secrets.MY_GITEA_PASSWORD }}" | docker login ${{ secrets.MY_GITEA_REGISTRY_URL }} -u ${{ secrets.MY_GITEA_USERNAME }} --password-stdin docker pull ${{ secrets.MY_GITEA_REGISTRY_URL }}/quant/make-quant-py:latest docker-compose down docker-compose up -d