4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Jenkinsでaws-cliをつかう

Last updated at Posted at 2021-05-29

ターゲット

  • Jenkinsでaws-cliを使いたい人
  • Jenkinsののったインスタンス上にprofileの設定を、aws-cliで残したくない人

設定手順

IAM

  • aws-cliで利用するアクセスキーとシークレットアクセスキーを発行するため、IAMでユーザを作成します。
  • Jenkinsの認証時報の設定でアクセスキーIDおよびシークレットアクセスキーは利用しますので、「プログラムによるアクセス」はチェック。
    image.png

refs: https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users_create.html

Install aws-cli

sudo apt install -y awscli
aws --version
  # aws-cli/1.18.69 Python/3.8.5 Linux/5.4.0-1045-aws botocore/1.16.19

Plugin Install

  • プラグインの管理画面(Jenkinsの管理 > プラグインの管理)で「CloudBees AWS Credentials」を検索・チェックし、Install without restart
    image.png

refs: https://plugins.jenkins.io/aws-credentials/

Create Credentials

  • Credentials画面(Jenkinsの管理 > Manage Credentiaals)で、aws-cliの認証情報を設定する。
    • 種類: AWS Credentials
    • スコープ: (任意)
    • ID: (任意:ビルド時に設定するID)
    • 説明: (任意)
    • Access Key ID: IAMで発行したユーザのアクセスキーID
    • Secret Access Key: IAMで発行したユーザのシークレットアクセスキー
      image.png

ビルド実行

  • Credentialの設定が済んだら以下のようにパイプラインを設定し、ビルド実行し動作の確認を行います。
pipeline {
  agent any
  stages {
    stage("s3 ls") {
      steps {
        withCredentials(
          [[
            $class: 'AmazonWebServicesCredentialsBinding',
            credentialsId: 'sandbox',
            accessKeyVariable: 'AWS_ACCESS_KEY_ID',
            secretKeyVariable: 'AWS_SECRET_ACCESS_KEY'
          ]]
        ) {
          sh '''
          aws s3 ls
          '''
        }
      }
    }
  }
}
  • 設定したCredentialのAWSアカウントのS3バケット一覧が出力されれば成功です。

関連記事

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?