From f1e99c22ff78c1addc4541db33fbf86abe194b80 Mon Sep 17 00:00:00 2001 From: serhiimosiiash Date: Fri, 19 Dec 2025 11:35:40 +0200 Subject: [PATCH] Add CI/CD Pipeline: Security + Deploy --- .gitea/workflows/antigravity-ops.yaml | 63 +++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .gitea/workflows/antigravity-ops.yaml diff --git a/.gitea/workflows/antigravity-ops.yaml b/.gitea/workflows/antigravity-ops.yaml new file mode 100644 index 0000000..ee66a23 --- /dev/null +++ b/.gitea/workflows/antigravity-ops.yaml @@ -0,0 +1,63 @@ +name: Antigravity DevSecOps +run-name: Deploying Antigravity Agent 🚀 + +on: + push: + branches: + - main + +jobs: + # 1. ЕТАП БЕЗПЕКИ (Security Check) + security-audit: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + + # Сканування на забуті паролі/ключі + - name: Gitleaks Scan + uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + continue-on-error: true # Поки що тільки попереджаємо, не блокуємо + + # 2. ЕТАП ДЕПЛОЮ (Build & Run) + deploy-agent: + needs: security-audit + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + + - name: Build Docker Image + run: | + echo "🏗️ Building Antigravity Image..." + # Збираємо образ прямо на хості (через сокет) + docker build -t antigravity-core:latest . + + - name: Deploy Container + run: | + echo "🚀 Deploying to Server Infrastructure..." + + # Зупиняємо старий контейнер (якщо є) + docker rm -f antigravity || true + + # Запускаємо новий + # Ми підключаємо його до тієї ж мережі, де живуть Postgres і Graphiti (з твого Caddyfile ми бачили n8n_default або подібне) + # ТУТ ВАЖЛИВО: Перевір назву мережі командою `docker network ls` на сервері. + # Зазвичай це ім'я папки, де лежить docker-compose + _default. + # Я використовую 'stack_default' як приклад. + + docker run -d \ + --name antigravity \ + --restart unless-stopped \ + --network stack_default \ + -e DB_HOST=postgres \ + -e DB_USER=postgres \ + -e DB_PASS=mysecretpassword \ + -e DB_NAME=postgres \ + -e GRAPHITI_URL=http://graphiti:8000 \ + antigravity-core:latest + + - name: Cleanup + run: docker image prune -f \ No newline at end of file