Ett steg i GitLab grupperar jobb; steget har ingen egen processmiljö. Lägg proxyvariablerna på de jobb som behöver dem, gärna via en återanvändbar dold mall:

.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 tillhandahålls genom projektets befintliga variabelhantering. För jobb som får nå offentliga tjänster via offentliga proxyservrar kan värdet använda en HTTP-slutpunkt från listan över HTTP-proxyservrar. Python-kommandot är bara ett exempel på en projektuppgift. Andra jobb kan avstå från mallen, och flera jobb i samma steg kan välja olika miljöer.

Låt inte dessa proxynamn ingå i YAML-standardvärden på toppnivå om de inte bör ärvas brett. Granska också variabler på projekt-, grupp- och pipelinenivå: deras prioritet kan åsidosätta ett jobbs YAML-värde.

inherit:variables styr ärvandet av standardvariabler i YAML. Det raderar inte CI/CD-variabler från projekt eller grupper och är därför ingen allmän brytare för att ta bort alla proxykällor.

Detta gäller jobbets process. Den HTTP-klient som startas i den måste stödja variablerna, och runnerns tidigare image-hämtning har en egen konfiguration.

Relaterade artiklar