Етапът в GitLab групира задачи; той не притежава отделна процесна среда. Поставете прокси променливите в задачите, които ги нуждаят, по избор чрез многократно използван скрит шаблон:

.proxy-environment:
  variables:
    HTTP_PROXY: "$CODE_PROXY"
    HTTPS_PROXY: "$CODE_PROXY"
    NO_PROXY: "localhost,127.0.0.1"

external_check:
  extends: .proxy-environment
  stage: test
  script:
    - python ci/check_external_service.py

CODE_PROXY се предоставя чрез съществуващото управление на променливи в проекта. За задачи, на които е разрешен достъп до публични услуги чрез публични проксита, стойността може да използва HTTP крайна точка от списъка с HTTP проксита. Командата на Python е илюстративна задача на проекта. Други задачи могат да пропуснат този шаблон и няколко задачи в един етап могат да изберат различни среди.

Оставете тези имена на проксита извън YAML настройките по подразбиране на най-горно ниво, ако не трябва да се наследяват широко. Проверете също променливите на проекта, групата и pipeline-а: техният приоритет може да отмени YAML стойността на задача.

inherit:variables управлява наследяването на YAML променливите по подразбиране. Той не изтрива CI/CD променливите на проекта или групата, така че не е общ превключвател за премахване на всеки източник на прокси.

Това конфигурира процеса на задачата. HTTP клиентът, стартиран вътре в него, трябва да поддържа тези променливи, а по-ранната връзка на runner за изтегляне на образ има собствена конфигурация.

Подобни статии