63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
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 |