Eine GitLab-Stage gruppiert Jobs; sie besitzt keine eigene Prozessumgebung. Legen Sie Proxy-Variablen bei den Jobs ab, die sie brauchen, optional über eine wiederverwendbare versteckte Vorlage:

.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 wird über die vorhandene Variablenverwaltung des Projekts bereitgestellt. Für Jobs, die über öffentliche Proxys auf öffentliche Dienste zugreifen dürfen, kann der Wert einen HTTP-Endpunkt aus der HTTP-Proxy-Liste verwenden. Der Python-Befehl ist eine beispielhafte Projektaufgabe. Andere Jobs können diese Vorlage weglassen, und mehrere Jobs derselben Stage können unterschiedliche Umgebungen wählen.

Lassen Sie diese Proxy-Namen aus den YAML-Standardwerten der obersten Ebene heraus, wenn sie nicht breit vererbt werden sollen. Prüfen Sie außerdem Projekt-, Gruppen- und Pipeline-Variablen: Ihre Priorität kann den YAML-Wert eines Jobs überschreiben.

inherit:variables steuert die Vererbung von YAML-Standardvariablen. Es löscht keine Projekt- oder Gruppen-CI/CD-Variablen und ist daher kein allgemeiner Schalter zum Entfernen jeder Proxy-Quelle.

Dies konfiguriert den Job-Prozess. Der darin gestartete HTTP-Client muss diese Variablen unterstützen, und die frühere Image-Pull-Verbindung des Runners hat ihre eigene Konfiguration.

Ähnliche Artikel