Етап у 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 верхнього рівня, якщо вони не повинні успадковуватися широко. Також перевірте змінні проєкту, групи й конвеєра: їхній пріоритет може перекрити значення YAML завдання.

inherit:variables керує успадкуванням типових змінних YAML. Воно не стирає CI/CD-змінні проєкту чи групи, тож не є загальним перемикачем для вилучення кожного проксі-джерела.

Це налаштовує процес завдання. HTTP-клієнт, запущений у ньому, має підтримувати ці змінні, а попереднє з'єднання runner-а для завантаження образу має власну конфігурацію.

Схожі статті