Есть ли безопасный способ использовать один проект Gitlab внутри другого? - PullRequest
0 голосов
/ 18 января 2020

Итак, предположим, что у вас есть несколько проектов с одним и тем же сценарием зависимости, но в настоящее время у вас есть один и тот же сценарий в разных проектах с небольшими изменениями. Например, предположим, что у вас есть следующее:

projectA / alpha. sh

echo "The first letter of alphabet is A"

projectB / alpha. sh

echo "The second letter of alphabet is B"

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

projectUtility / alpha. sh

echo "The {order} letter of alphabet is {givenLetter}"

How В точности ли вы импортировали бы что-то подобное или внутри / вне конвейера Gitlab другого проекта, чтобы вы могли использовать его, не делая его реальной частью этой кодовой базы? Единственный способ, который приходит на ум, - это клонировать проект в базу кода, находясь в конвейере, например:

stages:
  - pullScript

pullScript:
  stage: pullScript
  script:
    - git clone git@gitlab.com:projectUtility.git
    - cd projectUtility
    - bash alpha.sh "first" "B"
    - cd ..
    - rm -r projectUtility

Однако это не работает. Я получаю следующие ошибки:

$ git clone git@gitlab.com:projectUtility.git
Cloning into 'projectUtility'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ERROR: Job failed: command terminated with exit code 1

ИЛИ

$ git clone https://gitlab.com/projectUtility.git
Cloning into 'projectUtility'...
fatal: could not read Username for 'https://gitlab.com': No such device or address
ERROR: Job failed: command terminated with exit code 1
...