Use username in fixupx URL #25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy bot and API | |
| on: | |
| push: | |
| branches: ["main"] | |
| jobs: | |
| build-bot: | |
| runs-on: ubuntu-latest | |
| env: | |
| working-directory: IPBot/IPBot | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: Restore dependencies | |
| working-directory: ${{ env.working-directory }} | |
| run: dotnet restore | |
| - name: Build | |
| working-directory: ${{ env.working-directory }} | |
| run: dotnet publish /t:PublishContainer -c Release --os linux --arch x64 | |
| - name: Log into Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ secrets.DOCKER_REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
| - name: Tag container | |
| working-directory: ${{ env.working-directory }} | |
| run: docker tag ipbot ${{ secrets.DOCKER_REGISTRY }}/ipbot | |
| - name: Push the image to Docker Hub | |
| working-directory: ${{ env.working-directory }} | |
| run: docker push ${{ secrets.DOCKER_REGISTRY }}/ipbot | |
| build-api: | |
| runs-on: ubuntu-latest | |
| env: | |
| working-directory: IPBot/IPBot.API | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 9.0.x | |
| - name: Restore dependencies | |
| working-directory: ${{ env.working-directory }} | |
| run: dotnet restore | |
| - name: Build | |
| working-directory: ${{ env.working-directory }} | |
| run: dotnet publish /t:PublishContainer -c Release --os linux --arch x64 | |
| - name: Log into Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ secrets.DOCKER_REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
| - name: Tag container | |
| working-directory: ${{ env.working-directory }} | |
| run: docker tag ipbot-api ${{ secrets.DOCKER_REGISTRY }}/ipbot-api | |
| - name: Push the image to Docker Hub | |
| working-directory: ${{ env.working-directory }} | |
| run: docker push ${{ secrets.DOCKER_REGISTRY }}/ipbot-api | |
| start-containers: | |
| runs-on: ubuntu-latest | |
| needs: [build-bot, build-api] | |
| steps: | |
| - name: Pull the image to VM | |
| uses: appleboy/[email protected] | |
| with: | |
| host: ${{ secrets.SSH_HOST }} | |
| username: ${{ secrets.SSH_USERNAME }} | |
| key: ${{ secrets.SSH_KEY }} | |
| port: ${{ secrets.SSH_PORT }} | |
| passphrase: ${{ secrets.SSH_PASSPHRASE }} | |
| script: cd ${{ secrets.PROJECT_DIRECTORY }} && docker compose pull && docker compose up -d |