Proxyvariabelen horen bij de GitLab-taken die ze nodig hebben
Hergebruik een verborgen taaksjabloon om de proxyomgeving af te bakenen zonder er een pipelinebrede standaard van te maken.
Een GitLab-fase groepeert taken; hij bezit geen aparte procesomgeving. Plaats proxyvariabelen op de taken die ze nodig hebben, optioneel via een herbruikbaar verborgen sjabloon:
.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 wordt geleverd via het bestaande variabelebeheer van het project. Voor taken die via openbare proxies toegang mogen krijgen tot openbare diensten, kan de waarde een HTTP-eindpunt uit de HTTP-proxylijst gebruiken. De Python-opdracht is een illustratieve projecttaak. Andere taken kunnen dit sjabloon weglaten, en meerdere taken in dezelfde fase kunnen verschillende omgevingen kiezen.
Laat deze proxynamen buiten de YAML-standaardwaarden op het hoogste niveau als ze niet breed geërfd moeten worden. Controleer ook project-, groep- en pipelinevariabelen: hun voorrang kan de YAML-waarde van een taak overschrijven.
inherit:variables beheert de overerving van YAML-standaardvariabelen. Het wist geen project- of groep-CI/CD-variabelen, dus het is geen algemene schakelaar om elke proxybron te verwijderen.
Dit configureert het taakproces. De HTTP-client die daarin wordt gestart, moet die variabelen ondersteunen, en de eerdere image-pull-verbinding van de runner heeft zijn eigen configuratie.