Unix 版 Jenkins エージェント上の 1 つのコマンドでは、そのコマンドにプロキシの割り当てを置きます:

node('linux') {
    sh 'http_proxy=http://build-proxy.example:8080 https_proxy=http://build-proxy.example:8080 ./build.sh'
}

この例は、リポジトリにビルドスクリプトがあり、エージェントのツールがこれらの環境変数名を読むことを前提としています。割り当ては、そのコマンドとその子プロセスに対して継承された値を置き換えます。マシンの永続的な環境を書き換えるものではありません。プロキシ認証なしで許可された経路から公開アーティファクトを取得するビルドステップでは、HTTP プロキシ一覧がそれらの値の候補となる HTTP エンドポイントを提供できます。

複数の Pipeline ステップで上書きを共有する場合は、それらのステップを withEnv ブロックで囲みます。Jenkins は変数の扱いが大文字小文字を区別しないが保持はすると文書化しています。Unix ツールが特定の小文字名を要求する場合は、結果の綴りを確認してください。

単純な export は 1 つの sh ステップに属します。後から実行される独立したシェルステップは新しいプロセスであり、隣のステップの変更を継承しません。

設定はコマンドが実行される場所に適用します。Jenkins コントローラーのダウンロードとリモートエージェントで起動したツールは別々のネットワーク利用者です。コントローラーでの更新確認が成功しても、エージェントのコマンドの経路を証明するものではありません。

関連記事