Как выполнить файл сценария оболочки в определенной ветви в сценарии задания gitlab?

# #git #shell #gitlab #yaml #gitlab-ci

Вопрос:

В script.sh находится в определенной ветви, а не в master, так как же мне указать в идентификаторе скрипта, чтобы найти файл в этой ветви.

 build_job:
stage: build
script:
  - ./project/config/script.sh > job.yml
 

Ответ №1:

Если вы хотите поменять ветви местами во время выполнения задания конвейера, вам потребуется:

  1. Настройте аутентификацию с before_script помощью метода HTTPS или SSH,
  2. В этом script разделе добавьте стандартные команды git, такие как git checkout, чтобы перейти в нужную ветвь,
  3. Затем запустите свой сценарий.

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