- Уровня проекта: Настраиваются в разделе проекта `Settings > CI/CD > Variables`.
- Уровня группы или подгруппы: Позволяют задавать переменные, общие для нескольких проектов.
- Определенные в `.gitlab-ci.yml`: Можно объявлять переменные непосредственно в файле конфигурации под ключом `variables`.
- Переменные окружения (`Environment Variables`): Связываются с определенными окружениями (`environments`) для раздельных настроек, например, для `staging` и `production`.
- [ ] Объявление и использование переменных:
- Объявление в `.gitlab-ci.yml`:
- Внутри скриптов доступ к переменным осуществляется через `$VARIABLE_NAME` (для `Linux/Unix`) или `%VARIABLE_NAME%` (для Windows).
- Приоритет переменных.
- Динамические переменные и параметры
**10. Развертывание приложений**
- [ ] `Environments` и `Deployments`:
- Настройка сред (`dev`, `staging`, `production`).
- Просмотр историй развертываний.
- [ ] Стратегии развертывания:
- Автоматическое развертывание при успешном прохождении пайплайна.
- Использование ручных шагов (`manual jobs`) для контроля развертываний.
**11. Мониторинг и отладка**
- [ ] Логи пайплайнов:
- Анализ логов заданий для отладки ошибок.
- Использование возможностей `GitLab` для перезапуска отдельных заданий.
- [ ] Мониторинг производительности:
- Интеграция с инструментами мониторинга (`Prometheus`, `Grafana`).
- Использование `GitLab Metrics`.
**12. Безопасность и соответствие требованиям**
- [ ] Контейнерная безопасность:
- Сканирование уязвимостей в зависимости и образах.
- Использование встроенных функций `GitLab` для статического и динамического анализа безопасности.
- [ ] `Compliance Pipeline`:
⦁ Настройка пайплайнов в соответствии со стандартами безопасности и качества.
**13. Интеграции и расширения**
- [ ] Интеграция с внешними сервисами:
-`Jira`, `Slack`, `Microsoft Teams` и др.
- [ ] `Webhooks` и `API`:
- Настройка вебхуков для уведомлений.
- Использование `API GitLab` для автоматизации задач.
- [ ] `GitLab Pages`:
- Размещение статических сайтов с помощью `GitLab`.
**14. Управление релизами и версиями**
- [ ] Релизы (`Releases`):
- Создание релизов в `GitLab`.
- Управление артефактами релиза.
- [ ] Теги и `Changelog`:
- Использование тэгов для обозначения версий.
- Автоматическое генерирование списка изменений.
**15. Работа с мультипроектными пайплайнами**
- [ ] Межпроектные пайплайны:
- Триггеры между проектами.
- Использование артефактов и зависимостей из других проектов.
**16. Облачные технологии и `Kubernetes`**
- [ ] Развертывание на `Kubernetes`:
- Интеграция `GitLab` с кластерами Kubernetes.
- Использование `GitLab CI/CD` для доставки в `Kubernetes`.
- [ ] `GitOps`:
- Использование подхода GitOps для управления инфраструктурой как кодом.