set :default_env, fetch(:default_env, {}).merge(
  'http_proxy' => 'http://gateway.example:8080',
  'https_proxy' => 'http://gateway.example:8080'
)

SSHKit と組み合わせた Capistrano 3 では、これによりプロキシの値がデプロイ先ホストのコマンド環境にマージされます。マッピングを置き換えるのではなく、PATH などの他の必要な値は残してください。

文字列キーは小文字の表記を保ちます。SSHKit のコマンドビルダーはシンボルキーを大文字に変換するため、http_proxy を必要とするクライアントでは動作が変わる可能性があります。たとえば curl は HTTP 変数の大文字と小文字を特別に扱います(curl が HTTP プロキシをどう見るか)。

一部の操作だけに適用する場合は、該当する execute 呼び出しの周囲で同じ文字列キーの値を持つ SSHKit の with ブロックを使います。

これらの設定はデプロイ先ホストのコマンドに影響します。ノート PC の SSH 接続を構成するものではなく、後で別のスーパーバイザが起動するサービスに環境を残すものでもありません。そのリモートホストから到達できるプロキシを選んでください。その localhost はノート PC 上の補助を指しません。リモート側のツールがプロキシ資格情報を保持しない、許可された公開ダウンロードでは、HTTP プロキシ一覧の HTTP エントリがこれらの値を提供できます。

関連記事