name: Build and Test Application on: push: branches: - master 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: | docker login -u ${{ secrets.GIT_USERNAME }} -p ${{ secrets.GIT_TOKEN }} ${{ vars.GIT_INSTANCE }} sudo -s ${{ secrets.SSH_PASS }} docker pull ${{ vars.GIT_INSTANCE }}/mt77/monitor:latest docker stop monitor || true docker rm monitor || true docker run -d --name monitor ${{ vars.GIT_INSTANCE }}/mt77/monitor:latest