質問: 表題の通りで、Jenkinsからのリモートホストシェル実行時に AWS CLIを利用してS3との同期を行うスクリプトをRUNしております。 スクリプト単体では問題なくAWSとの同期動作確認できているのですが Jenkinsを経由(Hookトリガ)すると以下のようにタイムアウトが発生いたします。 ``` fatal error: HTTPSConnectionPool(host='xxx.amazonaws.com', port=443): Max retries exceeded with url: /xxx?prefix=&encoding-type=url (Caused by ConnectTimeoutError(, 'Connection to xxx.amazonaws.com timed out. (connect timeout=60)')) ``` また、リモートホスト上のシェル起動でなく、ローカルホスト上でのシェル起動でも同様の事象でした。 追記: 1. 問題のスクリプトを質問に追記できますか? 2. クレデンシャルはどのように指定していますか? ``` # credentials パスを設定 export AWS_SHARED_CREDENTIALS_FILE=${cwd}/credentials/credentials # config パスを設定 export AWS_CONFIG_FILE=${cwd}/credentials/config # sync 実行 aws s3 sync --profile ${aws_stage} --delete --exact-timestamps ${sync_src} ${sync_dest} ``` 3. スクリプト単体で動かした場合と、Jenkinsのシェル起動した場合で、環境の違いはなんでしょうか? 環境そのものの違いはありません。フックによるリモートシェル起動のトリガか、直接リモート先のスクリプトファイルを叩いているだけです。Jenkinsで同じスクリプトファイルをキックしています。 ご教授のほどよろしくお願い致します。
回答: 自己解決できました。色々とご助言下さり @take88 さんありがとうございました。 原因はリモートアクセス(SSH)経由により、環境変数の反映がされないため、プロキシによるアクセス不可でした。 この投稿は @Nazonokusa さんのコメント を元にコミュニティwikiとして投稿しました。