SETUP_PIPELINE.md•2.96 kB
# Быстрая настройка GitLab CI/CD
## 🚀 Быстрый старт
### 1. Настройка переменных GitLab
В Settings → CI/CD → Variables добавьте:
```bash
# Обязательные переменные werf
WERF_REPO=registry.gitlab.com/your-group/radius-mcp-server
BUILDS_REGISTRY_URL=registry.gitlab.com
WERF_IMAGES_CLEANUP_PASSWORD=your-cleanup-password
# Для MR approvals (опционально)
GITLAB_TOKEN_FOR_CI=your-gitlab-token
APPROVAL_AUTHORS=user1,user2,user3
# Для приватных Helm чартов (если нужно)
HELM_CHARTS_TOKEN=your-helm-token
```
### 2. Настройка секретов приложения
Отредактируйте файлы values:
**`.helm/values.dev.yaml`:**
```yaml
secrets:
CALENDAR_API_HOST_URL: "https://api.development.myradius.ru"
CALENDAR_API_KEY: "your-dev-api-key"
```
**`.helm/values.testing.yaml`:**
```yaml
secrets:
CALENDAR_API_HOST_URL: "https://api.testing.myradius.ru"
CALENDAR_API_KEY: "your-testing-api-key"
```
**`.helm/values.prod20.yaml`:**
```yaml
secrets:
CALENDAR_API_HOST_URL: "https://api.myradius.ru"
CALENDAR_API_KEY: "your-production-api-key"
```
### 3. Настройка GitLab Runner
Убедитесь что у вас есть runner с тегом `werf`:
```yaml
# В .gitlab-ci.yml уже настроено:
tags:
- werf # Для werf операций
- docker # Для тестов
```
### 4. Создание веток
```bash
# Создайте основные ветки
git checkout -b develop
git push origin develop
git checkout -b testing
git push origin testing
git checkout -b prod20
git push origin prod20
```
### 5. Первый деплой
```bash
# Пуш в develop для dev окружения
git checkout develop
git commit -m "Setup pipeline" --allow-empty
git push origin develop
# Проверьте пайплайн в GitLab → CI/CD → Pipelines
```
## 🔧 Кастомизация
### Домены
Измените домены в values файлах:
```yaml
ingress:
host: your-custom-domain.com
```
### Ресурсы
Настройте ресурсы под ваши нужды:
```yaml
resources:
limits:
cpu: 1000m
memory: 1Gi
requests:
cpu: 200m
memory: 256Mi
```
### Replicas и автоскейлинг
```yaml
# В values.prod20.yaml
replicaCount: 5
autoscaling:
enabled: true
minReplicas: 5
maxReplicas: 20
```
## ✅ Проверка
1. **Prebuild** - образ собирается
2. **UnitTestBack** - тесты проходят
3. **Converge** - деплой работает
4. **Health checks** - приложение отвечает на `/mcp`
## 📞 Поддержка
При проблемах проверьте:
- Переменные GitLab CI/CD
- Статус runners
- Логи werf: `werf logs --env dev`
- Состояние pods: `kubectl get pods -n $NAMESPACE`