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