name: Build and Deploy on: push: branches: - prod jobs: build_and_deploy: runs-on: docker steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Define Image Name id: image_vars run: | IMAGE_TAG="${{ GITEA_BRANCH }}-${{ GITEA_SHA::7 }}" FULL_IMAGE_NAME="${{ GITEA_REPO_NAME }}:${IMAGE_TAG}" echo "::set-output name=FULL_IMAGE_NAME::${FULL_IMAGE_NAME}" - name: Build Docker Image run: | docker buildx build --load --platform linux/amd64 \ -t "${{ steps.image_vars.outputs.FULL_IMAGE_NAME }}" . # --- ШАГ ВЕРИФИКАЦИИ УДАЛЕН --- - name: Set up SSH run: | mkdir -p ~/.ssh echo "${{ secrets.PROD_SSH_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 - name: Save, Transfer and Deploy Image run: | IMAGE_TO_DEPLOY="${{ steps.image_vars.outputs.FULL_IMAGE_NAME }}" echo "Transferring image ${IMAGE_TO_DEPLOY} to production..." docker save "${IMAGE_TO_DEPLOY}" | ssh -o StrictHostKeyChecking=no deployer@YOUR_PROD_SERVER_IP "/home/deployer/deploy.sh '${IMAGE_TO_DEPLOY}'"