name: Build and Deploy on: push: branches: - shinan jobs: build_and_deploy: runs-on: ubuntu-latest env: DANAK_SERVER: "https://captain.dev.danakcorp.com" APP_TOKEN: 5493844cc48f4c03fd53557a8e1c7f5cd51b4ae5c0b7147933c6dcce7fe87985 CAPROVER_APP_NAME: shinan-api GITHUB_TOKEN: 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 steps: - name: Check out repositorys uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: zmihamid password: ${{ env.GITHUB_TOKEN }} - name: Preset Image Name run: echo "IMAGE_URL=$(echo ghcr.io/zmihamid/${{ 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@v5 with: context: . file: ./Dockerfile push: true tags: ${{ env.IMAGE_URL }} - name: Install CapRover CLI run: npm install -g caprover - name: deploy to server run: | caprover deploy -a $CAPROVER_APP_NAME -u $DANAK_SERVER --appToken $APP_TOKEN -i "$IMAGE_URL"