как gitlab ci клон репо в докер? - PullRequest
0 голосов
/ 13 февраля 2019

Я знаком с Bamboo, но плохо знаком с gitlab ci. Я пробовал несколько раз с gitlab и обнаружил, что ключевым преимуществом gitlab является автоматическое клонирование репозитория git .

.хитрая часть в том, что gitlab может даже клонировать репозиторий в докер-контейнер автоматически .

мой репозиторий git:

.git    
.gitlab-ci.yml
foobar.sh

это задание:

  job1:
  stage: run
  image: 
    name: my_image
  script: 
    - ./foobar.sh
    - some other scripts within the docker

может успешно работать.

В журнале показано, что после извлечения my_image происходит действие git clone, подобное тому, что сказал другой SO ответ .но в журнале недостаточно подробностей, чтобы сообщить мне, где запущена эта команда (я не владелец gitlab ci runner, поэтому не могу контролировать подробный уровень журнала, если это имеет значение).

Итак, мои вопросы:

  1. Эта команда git clone выполняется внутри или снаружи докера?
  2. Если внутри, кто ее вызвал?какая полная команда запуска Docker ...?
  3. Если снаружи, когда и где каталог подключен к Docker?

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

1 Ответ

0 голосов
/ 13 февраля 2019

Видите, бегун-гитлаб тянет изображение и раскручивает контейнер.Затем из контейнера выполняется клон git этого репозитория gitlab (бегун gitlab).Это не снаружи, и ничего не установлено.Работает только с репо, к которому принадлежит трубопровод.

Если вы хотите клонировать другое хранилище, вы должны сделать это вручную, запекнув его в свое изображение заранее или попросив бегуна gitlab выполнить еще один клон git.

script:
    - git clone https://github.com/bluebrown/dotfiles

Полагаю,, что когда git не установлен в контейнере, это вызывает проблемы.

...