Ответ
В контексте файла .gitlab-ci.yml, который написан на YAML, точка (.) в начале строки обычно имеет два специальных значения:
1. Скрытые (hidden) или анкорные (anchor) job-ы.
Если имя job начинается с точки, GitLab CI/CD считает его скрытым шаблоном и не будет выполнять такую job напрямую. Это используется для создания шаблонов, которые потом можно переиспользовать в других job-ах через алиасы (&) и ссылки (*).
# Определяем шаблон job с якорем `.build_template`
.build_template: &build_definition
stage: build
script:
- echo "Running build steps..."
- mvn clean compile
artifacts:
paths:
- target/
# Используем шаблон в реальной job, добавляя свои параметры
build_java_app:
<<: *build_definition # Вставляем содержимое шаблона
variables:
MAVEN_OPTS: "-Xmx2g"
# Эта job `.build_template` сама по себе выполнена НЕ БУДЕТ.
2. Якоря (Anchors) в YAML для любых данных. Точка используется в синтаксисе YAML для создания якоря, на который потом можно ссылаться. Это не специфично для GitLab, но активно там применяется.
# Определяем общие переменные как якорь `.common_vars`
.common_vars: &common_vars
DATABASE_URL: postgresql://prod-db
LOG_LEVEL: INFO
deploy_staging:
variables:
<<: *common_vars # Подставляем общие переменные
ENVIRONMENT: staging
deploy_production:
variables:
<<: *common_vars
ENVIRONMENT: production
Итог: Точка в начале имени элемента в .gitlab-ci.yml — это соглашение, обозначающее неисполняемый шаблон или блок для переиспользования. Это мощный инструмент для устранения дублирования и поддержания конфигурации в чистоте.