Как избежать установки require.txt перед каждым этапом в .gitlab-ci.yml? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть .gitlab-ci.yml, который выглядит следующим образом:

image: "python:3.7"

before_script:
  - pip install -r requirements.txt

stages:
  - stageA
  - stageB

stage_a:
  stage: stageA
  script:
  - run_some_python_scripts

stage_b:
  stage: stageB
  script:
  - run_more_python_scripts

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

Как мне этого добиться?

1 Ответ

2 голосов
/ 30 апреля 2020

Один вариант, который я нашел, который отлично работает, если файл requirements.txt мало что меняет, - это запекать его в собственное Docker изображение.

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

...