name: Build and deploy on: push: branches: - "**" workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Login to registry run: echo "${{ secrets.TOKEN }}" | docker login ${{ secrets.GIT_HOST }} -u ${{ secrets.USERNAME }} --password-stdin - name: Build and push app run: | docker build -t ${{ secrets.GIT_HOST }}/${{ gitea.repository }}:app -f app/Dockerfile . docker push ${{ secrets.GIT_HOST }}/${{ gitea.repository }}:app # deploy: # runs-on: ubuntu-latest # needs: build # steps: # - name: Checkout # uses: actions/checkout@v4 # - name: Instasll SSH key # uses: webfactory/ssh-agent@v0.9.0 # with: # ssh-private-key: ${{ secrets.DEPLOY_SSH_KEY }} # - name: Add host to known_hosts # run: ssh-keyscan -H ${{ secrets.LXC_HOST }} >> ~/.ssh/known_hosts # - name: Deploy docker-compose-ci.yml # run: scp docker-compose-ci.yml ${{ secrets.LXC_USER }}@${{ secrets.LXC_HOST }}:/srv/app/docker-compose.yml # - name: Restart services # run: | # ssh ${{ secrets.LXC_USER }}@${{ secrets.LXC_HOST }} << 'EOF' # echo "${{ secrets.TOKEN }}" | docker login ${{ secrets.GIT_HOST }} -u ${{ secrets.USERNAME }} --password-stdin # docker pull ${{ secrets.GIT_HOST }}/${{ gitea.repository }}:app # cd /srv/app # docker compose up -d --force-recreate # docker image prune -f # EOF