Как вытащить зависимость NPM из частного Git-репозитория Git во время сборки GitLab CI - PullRequest
0 голосов
/ 12 октября 2018

У меня есть работа в моем файле .gitlab-ci.yml, которая выполняет npm install примерно так:

test:
  image: node:10
  script:
    - npm install
    - npm test

Проблема в том, что я ссылаюсь на частное репозиторий GitLab в моем package.json:

"dependencies": {
  "internal-dep": "git+https://gitlab.com/Company/internal-dep.git",
  ...

Команда npm install работает локально, так как я уже авторизован на GitLab, но не работает на GitLab CI.Как получить internal-dep для успешного разрешения на GitLab CI?

1 Ответ

0 голосов
/ 12 октября 2018

Я нашел два подхода, которые позволяют Git успешно аутентифицироваться с GitLab на этапе npm install (который использует Git для доступа к этой зависимости).

Первый подход, как показано вэто .gitlab-ci.yml задание:

test:
  image: node:10
  script:
    - echo -e "machine gitlab.com\nlogin gitlab-ci-token\npassword ${CI_JOB_TOKEN}" > ~/.netrc
    - npm install
    - npm test

Второй подход, который, похоже, тоже работает:

test:
  image: node:10
  script:
    - git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/".insteadOf https://gitlab.com/
    - npm install
    - npm test
...