プロキシ変数はそれが必要な GitLab ジョブのもの
パイプライン全体のデフォルトにせず、プロキシ環境を限定するために隠しジョブテンプレートを再利用します。
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 クライアントがこれらの変数をサポートしている必要があり、ランナーの以前のイメージ取得接続には独自の設定があります。