CircleCI OrbsでAWS CLIのバージョンを指定する

CircleCI OrbsでAWS CLIを簡単に使えます。今回は、CircleCI OrbsでAWS CLIのバージョンを指定してみました。
2021.10.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CircleCI Orbsを使えば、AWS CLIを簡単に導入できます。

AWS CLIのバージョンを指定しない場合は、最新バージョンを利用します。

ライブラリのバージョンを固定することは多いと思いますが、同じようにCLIツールのバージョンも固定する場合もあります。 特にAWS CLIは、ローカルPCとCircleCI上のバージョンが異なるとハマる可能性があるので、バージョンを指定してみました。

おすすめの方

  • CircleCI OrbsでAWS CLIのバージョンを固定したい方
  • CircleCI OrbsでAWS CLIのオプションを指定したい方

AWS CLIのバージョンを確認する

AWS CLIのGitHubのTagを確認すると、下記となっています。

AWS CLIのバージョン一覧(タグ一覧)

CircleCIのワークフローを作成する

mkdir .circleci
touch .circleci/config.yml

CircleCIのconfigファイル

versionでAWS CLIのバージョンを指定します。指定しない場合は、最新バージョンのAWS CLIがインストールされます。

.config.yml

version: 2.1

orbs:
  aws-cli: circleci/aws-cli@2.0.3

commands:
  check_version_latest:
    steps:
      - run:
          name: check version
          command: |
            aws --version

  check_version_fix:
    steps:
      - run:
          name: check version
          command: |
            aws --version
jobs:
  check_version_latest:
    executor: aws-cli/default
    steps:
      - checkout
      - aws-cli/install
      - check_version_latest

  check_version_fix:
    executor: aws-cli/default
    steps:
      - checkout
      - aws-cli/install:
          version: 2.2.47
      - check_version_fix

workflows:
  version: 2
  my-workflow:
    jobs:
      - check_version_latest:
          filters:
            tags:
              only: /.*/

      - check_version_fix:
          filters:
            tags:
              only: /.*/
          requires:
            - check_version_latest

CircleCIの設定を行う

プロジェクトのセットアップ

リポジトリをPushし、CircleCIでSet Up Projectを選択します。

プロジェクトをsetupする

configファイルのあるブランチ名を入力し、Let's GOを選択します。

configファイル設定のあるブランチ名を入力する

ワークフローの実行が完了するまで待ちます。

ワークフローが実行完了する

AWS CLIのバージョンを確認する

check_version_latestのバージョン

最新バージョンの2.3.0がインストールされていました。

AWS CLIのバージョン(最新)

aws-cli/2.3.0 Python/3.8.8 Linux/4.15.0-1110-aws exe/x86_64.ubuntu.20 prompt/off

check_version_fixのバージョン

指定したバージョンの2.2.47がインストールされていました。

AWS CLIのバージョン(指定)

aws-cli/2.2.47 Python/3.8.8 Linux/4.15.0-1110-aws exe/x86_64.ubuntu.20 prompt/off

参考