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 クライアントがこれらの変数をサポートしている必要があり、ランナーの以前のイメージ取得接続には独自の設定があります。

関連記事