Понимание тегов GitLab CI

Я прочитал документацию, некоторые статьи, и вы можете назвать меня тупым, но это мой первый раз, когда я работаю с такой концепцией.

  • Я зарегистрировал runner с тегом "тестирование"
  • создан тег "тестирование" в gitlab
  • связал этот бегун, с конкретным проектом
  • Я также добавил тот же тег, например "тестирование"в моем локальном РЕПО.

но как именно запуск моих заданий зависит от этих тегов? Быть всем эти операции необходимы? если я нажму новый код на репо,*.YML-файл выполняется в любом случае, насколько я тестировал.

так что, если я хочу запустить сборку только тогда, когда я определяю версию в фиксации?

IDK...

   git commit --tags "v. 2.0" -m "this is version 2.0" (probably not right)

но, конечно, он должен быть универсальным, поэтому мне не нужно всегда говорить, какой тег использовать для запуска бегуна, но, например, пусть он распознает числовые значения.

как вы можете видеть, я довольно смущен... Если бы вы могли объяснить, как именно работают теги, чтобы я мог понять концепцию, я был бы очень благодарен.

2 ответов


теги для GitLab CI и теги для Git-это две разные концепции.

когда вы пишете свой .gitlab-ci.yml, вы можете указать некоторые задания с тегом testing. Если бегун с этим тегом, связанным доступен, он будет пикап задания.

в Git в вашем репозитории теги используются для обозначения определенной фиксации. Он часто используется для tag версия.

эти две концепции могут быть смешаны при использовании тегов (в Git) для запуска конвейера в GitLab CI. В .gitlab-ci.yml, вы можете указать в разделе only С tags.

смотрите документация GitLab для тегов и только.

пример, когда вы нажимаете тег с git:

$ git tag -a 1.0.0 -m "1.0.0"
$ git push origin 1.0.0

и работы в .gitlab-ci.yml такой:

compile:
    stage: build
    only: [tags]
    script:
        - echo Working...
    tags: [testing]    

начнет использовать бегун с testing - тег.

насколько я понимаю, в ваших шагах отсутствует указание тега testing в твой бегун. Для этого зайдите в GitLab в свой проект. Рядом с Wiki, нажмите кнопку настройки. Перейти к трубопроводы CI/CD и там у вас есть ваш бегун(ы). Рядом с ним Guid, нажмите на значок пера. На следующей странице теги могут быть изменены.


все эти операции нужны?

нет, если все, что у вас есть, это один бегун, или если у вас их много, но вам все равно, какой бегун выполняет вашу работу, тогда нет смысла помечать бегунов/задания.

Так что если я хочу построить только тогда, когда я определяю версии совершить?

job:
  only:
    - tags