diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..79a1d08 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,65 @@ +name: Build and Deploy + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Login to Gitea Registry + run: | + echo "${{ secrets.REGISTRY_PASSWORD }}" | \ + docker login https://gitea.johannesbot.de -u ${{ secrets.REGISTRY_USER }} --password-stdin + + - name: Build Image + run: docker build -t gitea.johannesbot.de/johannesbot/kavita-lightnovel-metadata-fetcher:latest . + + - name: Push Image + run: docker push gitea.johannesbot.de/johannesbot/kavita-lightnovel-metadata-fetcher:latest + + deploy: + needs: build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Create deployment directory + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USER }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT || 22 }} + script: mkdir -p /home/${{ secrets.SSH_USER }}/kavita-lightnovel-metadata-fetcher + + - name: Copy docker-compose via SCP + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USER }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT || 22 }} + source: "docker-compose.prod.yml" + target: "/home/${{ secrets.SSH_USER }}/kavita-lightnovel-metadata-fetcher" + + - name: Deploy via SSH + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USER }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT || 22 }} + script: | + cd /home/${{ secrets.SSH_USER }}/kavita-lightnovel-metadata-fetcher + mv docker-compose.prod.yml docker-compose.yml + echo "${{ secrets.REGISTRY_PASSWORD }}" | sudo docker login https://gitea.johannesbot.de -u ${{ secrets.REGISTRY_USER }} --password-stdin + sudo docker compose pull + sudo docker compose up -d --remove-orphans + sudo docker image prune -f