name: Build and Test Application on: push: branches: - release jobs: build: runs-on: large steps: # Шаг 1: Checkout кода - name: Checkout repository uses: actions/checkout@v3 # Шаг 2: Логин в Docker Registry (Gitea) - name: Login to Gitea Container Registry uses: docker/login-action@v3 with: registry: ${{ vars.GIT_INSTANCE }} # Замените на адрес вашего Gitea username: ${{ secrets.GIT_USERNAME }} password: ${{ secrets.GIT_TOKEN }} # Шаг 3: Сборка и пуш Docker образа - name: Build and push Docker image uses: docker/build-push-action@v5 with: context: ./dockerized/ push: true tags: | ${{ vars.GIT_INSTANCE }}/${{ secrets.GIT_USERNAME }}/monitor:latest ${{ vars.GIT_INSTANCE }}/${{ secrets.GIT_USERNAME }}/monitor:${{ github.sha }} deploy: runs-on: small needs: build steps: - name: Install dependencies run: | apk add curl - name: SSH deploy uses: appleboy/ssh-action@master with: host: ${{ vars.REMOTE_SSH_HOST }} username: ${{ secrets.SSH_USER }} key: ${{ secrets.SSH_PRIVATE_KEY }} script: | sudo docker login -u ${{ secrets.GIT_USERNAME }} -p ${{ secrets.GIT_TOKEN }} ${{ vars.GIT_INSTANCE }} sudo docker pull ${{ vars.GIT_INSTANCE }}/mt77/monitor:latest sudo docker stop monitor || true sudo docker rm monitor || true sudo docker run -d --name monitor \ -e BOT_TOKEN="${{ secrets.BOT_TOKEN }}" \ -e BOT_CHATID=${{ secrets.BOT_CHATID }} \ -e TARGET_DOMAINS="${{ vars.TARGET_DOMAINS }}" \ -e TARGET_PROTOCOL="${{ vars.TARGET_PROTOCOL }}" \ -e TARGET_SSL_VERIFY=${{ vars.TARGET_SSL_VERIFY }} \ ${{ vars.GIT_INSTANCE }}/mt77/monitor:latest sudo docker logout ${{ vars.GIT_INSTANCE }}