name: Build and Test Application on: push: branches: - master env: TARGET_DOMAINS: "muffin77.ru, git.muffin77.ru, cloud.muffin77.ru, mail.muffin77.ru, dev.muffin77.ru, google.com" TARGET_PROTOCOL: "https" TARGET_SSL_VERIFY: true 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 need: 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=${{ secret.BOT_TOKEN }} / -e BOT_CHATID=${{ secret.BOT_CHATID }} / -e TARGET_DOMAINS=${{ env.TARGET_DOMAINS }} / -e TARGET_PROTOCOL=${{ env.TARGET_PROTOCOL }} / -e TARGET_SSL_VERIFY=${{ env.TARGET_SSL_VERIFY }} / ${{ vars.GIT_INSTANCE }}/mt77/monitor:latest