Add CI/CD Pipeline: Security + Deploy
This commit is contained in:
63
.gitea/workflows/antigravity-ops.yaml
Normal file
63
.gitea/workflows/antigravity-ops.yaml
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user