Skip to content

Instantly share code, notes, and snippets.

@umamichi
Last active July 5, 2017 08:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save umamichi/72cda0a626a3c1f68d81671c9e42e0ce to your computer and use it in GitHub Desktop.
Save umamichi/72cda0a626a3c1f68d81671c9e42e0ce to your computer and use it in GitHub Desktop.
WindowsでJenkinsのシェルでAWS CLIが使えない場合の原因と対処法

WindowsでJenkinsのシェルでaws-cliが使えない場合の原因と対処法

現象

AWS CLIを使い、S3にファイルをアップしたいので

> aws s3 cp hoge.zip s3://hoge/hoge/

とすると

The config profile could not be found

とエラーが出てアップロードできない

しかし、Jenkinsではなくコマンドプロンプトで

> aws s3 cp hoge.zip s3://hoge/hoge/

は成功する

原因

Jenkinsの実行ユーザーがAWS CLIを実行できる権限をもっていない

  1. コマンドプロンプトで
> whoami
ec-hogehoge\administrator

つまり通常のコマンドプロンプトではadministratorで実行していることが確認できる

Jenkinsのシェルの実行で

> whoami

とすると違うユーザー名が表示されるため、administratorに変更する必要がある

対処法

Jenkinsの実行ユーザーをadministratorに変更する

  1. [コントロールパネル]-[システムとセキュリティ]-[管理ツール]-[サービス]

  2. Jenkinsの項目を右クリック → プロパティ → 上のタブからログオンを選択

  3. アカウント横の参照  

  4. 選択するオブジェクト名を入力してくださいに「administrator」を入力する(先ほど調べたユーザー名を入力する)

  5. 名前の確認

  6. OK

  7. OK

  8. Jenkinsを再起動する サービスの中のJenkinsを右クリック → 再起動

  9. 確認

> aws s3 ls

Jenkins上でS3のバケット一覧が取得できれば、OKです

ちなみに

IAMの設定が出来ていないと、config profileが本当に存在していなくてアップロード出来ないです

その場合はIAM(認証情報)のセットアップを行ってください

参考 → http://www.task-notes.com/entry/20141026/1414322858

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment