Ответ
В GitLab ключевым файлом конфигурации, который начинается с точки, является .gitlab-ci.yml. Этот файл определяет конвейер непрерывной интеграции и доставки (CI/CD) для проекта.
Что он делает:
- Описывает этапы пайплайна (stages), например:
build,test,deploy. - Определяет задания (jobs), которые выполняются на этих этапах.
- Задает образы Docker, скрипты, переменные окружения и правила запуска.
Пример базового .gitlab-ci.yml для DevOps-проекта:
stages:
- validate
- test
- build-image
# Этап 1: Проверка синтаксиса и линтинг
lint-and-validate:
stage: validate
image: alpine:latest
script:
- echo "Validating Dockerfile..."
- docker run --rm -i hadolint/hadolint < Dockerfile
- echo "Checking Terraform fmt..."
- terraform fmt -check
# Этап 2: Запуск модульных тестов
test-unit:
stage: test
image: golang:1.21
script:
- go test ./... -v
# Этап 3: Сборка Docker-образа и отправка в registry
build-docker-image:
stage: build-image
image: docker:latest
services:
- docker:dind
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
only:
- main # Запускать только при коммите в main ветку
Другие важные файлы GitLab, начинающиеся с точки:
.gitignore— шаблоны файлов и папок, которые не должны отслеживаться Git..gitlab/— директория для шаблонов (например,merge_request_templates/,issue_templates/) и других специфичных для GitLab конфигураций.