name: Build and Deploy Docker Image on: [push] jobs: build_and_deploy: runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to Container Registry uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Preset Image Name run: echo "IMAGE_URL=$(echo ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:$(echo ${{ github.sha }} | cut -c1-7) | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - name: Build and push Docker Image uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile push: true tags: ${{ env.IMAGE_URL }} - name: Deploy Image to CapRrover uses: caprover/deploy-from-github@v1.1.2 with: server: "${{ secrets.CAPROVER_SERVER }}" app: "${{ secrets.APP_NAME }}" token: "${{ secrets.APP_TOKEN }}" image: ${{ env.IMAGE_URL }}