Что означает точка в названии задачи (job) в пайплайне CI/CD?
В названии таска в пайплайне точка (.
) обычно используется для группировки или вложенности имен. Это зависит от используемого инструмента CI/CD, но вот несколько распространённых значений:
Группировка шагов
Например, в GitLab CI/CD, Jenkins, ArgoCD или других инструментах можно встретить:Здесь
build.frontend
иbuild.backend
принадлежат одной стадии (build
), но имеют разные подзадачи.Пространство имён
В некоторых системах, например, в Tekton, точка может использоваться как часть имени ресурса или таска.Иерархия логов или мониторинга
В инструментах мониторинга (например, Prometheus, ELK) имена метрик или логов могут включать точки, чтобы указывать на их иерархическую структуру.
Если точка (.
) стоит перед именем таска в пайплайне, это может означать одно из следующих:
Скрытый таск (например, в GitLab CI/CD)
В GitLab CI/CD, если имя задачи начинается с точки, то эта задача считается "скрытой" (hidden job) и не выполняется напрямую. Обычно такие таски используются как шаблоны для последующего наследования:Здесь
.build_template
не запустится самостоятельно, но его настройки унаследуетbuild
.Некорректное имя
В некоторых CI/CD системах название таска не может начинаться с точки, и это приведёт к ошибке. Например, в Jenkins и GitHub Actions имя шага или задания с точкой в начале может быть недопустимым.Техническая особенность конкретного инструмента
В некоторых редких случаях точка может использоваться как особый синтаксис, но это зависит от CI/CD системы.
Что означает точка перед именем таска в GitLab CI/CD?
В GitLab CI/CD точка (.
) перед именем задачи (job
) делает её скрытой (hidden job). Такие задачи:
✅ Не запускаются автоматически
✅ Не отображаются в интерфейсе GitLab
✅ Используются для переиспользования конфигурации через extends
Как работают скрытые таски в GitLab CI/CD?
1. Обычный таск без точки (выполняется автоматически)
✅ test_job
выполнится, так как он явно объявлен.
2. Скрытый таск с точкой (не выполняется сам)
🔹 Что здесь происходит?
.hidden_template
– скрытая (шаблонная) задача, она не выполняется автоматическиvisible_job
унаследуетscript
из.hidden_template
и выполнится
3. Использование extends
для нескольких тасков
🔹 Что здесь происходит?
.build_template
– скрытая задача с базовой логикойbackend_build
иfrontend_build
унаследовали её, но переопределилиscript
4. Скрытые таски полезны для DRY (Don't Repeat Yourself)
Если у тебя есть много тасков с похожей логикой, лучше создать скрытый шаблон и использовать extends
. Это уменьшает дублирование кода и облегчает поддержку .gitlab-ci.yml
.
Пример без скрытого шаблона (много дублирования):
🚨 Минусы: код повторяется, сложно поддерживать.
Пример с скрытым шаблоном (лучше):
✅ Плюсы: код проще, можно легко изменить общий script
в .test_template
.
Вывод
- Точка перед именем делает таск скрытым и он не выполняется сам по себе
- Такие таски используются для шаблонов, которые можно переиспользовать с
extends
- Это помогает сократить дублирование кода и сделать
.gitlab-ci.yml
чище и понятнее
💡 Рекомендация: Используй скрытые таски для повторяющихся шагов в пайплайне, например, для билдов, тестов и деплоя.
Комментарии
Отправить комментарий