
私は CI に Jenkins を使用しています。S3 バケットからファイルをプルできるようにする必要があります。jenkins ジョブ内で、jenkins シェルから次の診断を実行します。
cd ~
こうすると/var/lib/jenkinsに移動します
whoami
これはユーザーjenkinsを返します
/var/lib/jenkinsの中に.awsフォルダがあり、そこにはconfigとcredentialsファイルがあるのですが、
aws configure list
私はこれを理解します:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key <not set> None None
secret_key <not set> None None
region <not set> None None
.aws フォルダがあり、その 2 つのファイルに正しい情報があるにもかかわらず、そこには何もありません。最初は .aws フォルダを /home/jenkins に配置しようとしましたが、それでもうまくいきませんでした。
では、Jenkins を実際に aws cli で動作させるにはどうすればよいでしょうか?
答え1
資格情報を環境変数としてエクスポートできます。
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_DEFAULT_REGION=us-west-2
見る詳細は、こちらを参照してください。詳細については、Jenkinsの使い方に応じて、EvnInject プラグイン
答え2
この方法は私にとってはうまくいきました:
- その中に .aws というディレクトリを作成します
/var/lib/jenkins
(または、「aws configure」コマンドを使用して aws 資格情報をすでに構成している場合は、ホーム ディレクトリから .aws フォルダーをコピーします) - 次に、下に移動して
/var/lib/jenkins/.aws
、sudo shown -R jenkins ./
.aws ディレクトリ内のファイルの所有者を変更するように書き込みます。
答え3
Jenkins サーバーの bash 内で AWS 認証情報を更新してください。以下のコマンドを実行します。
# sudo -su jenkins
# aws configure
参考リンク:http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ami-jenkins.html
答え4
インスタンス ロールを使用しているときに企業ネットワーク内でこの問題が発生する場合は、プロキシ設定が正しいことを確認してください。