継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

【3日目】毎日勉強や

タダです。

AWSCLIのBundle版インストール

CodeBuildにAWSCLIがないようなので、buildspec.ymlでインストールを実行する場合

- yum install -y unzip
- curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
- unzip awscli-bundle.zip
- ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

CodeBuildの環境変数

環境変数がデフォルトで以下の定義されている

よく使うのは、CODEBUILD_SRC_DIRですかね

  • AWS_DEFAULT_REGION: ビルドが実行されている AWS リージョン (例:us-east-1)。この環境変数は、AWS CLI で主に使用されます。
  • AWS_REGION: ビルドが実行されている AWS リージョン (例:us-east-1)。この環境変数は、AWS SDK で主に使用されます。
  • CODEBUILD_BUILD_ARN: ビルドの Amazon リソースネーム (ARN) (例:arn:aws:codebuild:region-id:account-ID:build/codebuild-demo-project:b1e6661e-e4f2-4156-9ab9-82a19EXAMPLE)。
  • CODEBUILD_BUILD_IMAGE: AWS CodeBuild ビルドイメージ識別子 (例:aws/codebuild/java:openjdk-8)。
  • CODEBUILD_BUILD_SUCCEEDING: 現在のビルドが成功かどうか。ビルドが失敗の場合は 0 に設定され、成功の場合は 1 に設定されます。
  • CODEBUILD_INITIATOR: ビルドを開始したエンティティ。AWS CodePipeline がビルドを開始した場合、これはパイプラインの名前です (例:codepipeline/my-demo-pipeline)。IAM ユーザーがビルドを開始した場合は、これはユーザーの名前です (例:MyUserName)。AWS CodeBuild の Jenkins プラグインがビルドを開始した場合、これは文字列 CodeBuild-Jenkins-Plugin です。
  • CODEBUILD_KMS_KEY_ID: AWS CodeBuild がビルド出力アーティファクトを暗号化するために使用している AWS KMS キーの識別子 (例:arn:aws:kms:region-id:account-ID:key/key-ID または alias/key-alias)。
  • CODEBUILD_RESOLVED_SOURCE_VERSION: AWS CodePipeline によって実行されるビルドの場合、ビルドするソースコードのコミット ID または Amazon S3 バージョン ID。この値は、パイプラインの関連するソースアクションが Amazon S3AWS CodeCommit、または GitHub リポジトリに基づいている場合にのみ使用できます。
  • CODEBUILD_SOURCE_REPO_URL: 入力アーティファクトまたはソースコードリポジトリの URL。Amazon S3 では、これは s3:// の後にバケット名と入力アーティファクトへのパスが続きます。AWS CodeCommit および GitHub の場合、これはリポジトリのクローン URL です。
  • CODEBUILD_SOURCE_VERSION: Amazon S3 の場合、入力アーティファクトに関連付けられたバージョン ID。AWS CodeCommit の場合、ビルドするソースコードのバージョンに関連付けられたコミット ID またはブランチ名。GitHub の場合、ビルドするソースコードのバージョンに関連付けられたコミット ID、ブランチ名、またはタグ名。
  • CODEBUILD_SRC_DIR: AWS CodeBuild がビルドに使用するディレクトリパス (例:/tmp/src123456789/src)。
  • HOME: この環境変数は常に /root に設定されます。

参考

docs.aws.amazon.com

Pythonのモジュール化(Wheelでの配布)

WheelでPythonをモジュール化

$ python setup.py bdist_wheel
$ ls ./dist
モジュール名-1.0-py3-none-any.whl

flake8

flake8には、以下のツールが統合されている

  • PyFlakes
  • pep8
  • Ned Batchelder’s McCabe scrips

参考

pypi.org

また明日