CodeBuild が Python License Checkerに対して依存関係をチェックするよう設定するにはどうしたらよいでしょうか?
flask-app フォルダの下にある license_check_buildspec.yaml という名前のファイルをチェックすると、それを可能にするために書かれたCodeBuild buildspecが表示されます。
LicenseCheck CodeBuild プロジェクトはこのファイルを探し、必要なコマンドを実行します。
version: 0.1
phases:
pre_build:
commands:
- echo Installing License Checker Tool...
- pip install liccheck
- pip install -r requirements.txt
build:
commands:
- echo Entered the post_build phase...
- echo Build completed on `date`
- liccheck -s license_strategy.ini -r requirements.txt
Buildspecs は、CodeBuild がビルドを実行するために使用するビルドコマンドと関連設定をまとめたものです。各セクションを順を追ってみましょう。
また、license_check_buildspec.yaml と同じフォルダに license_strategy.ini という名前のファイルがあり、これはどのライセンスを許可、無許可、除外するかを定義します。
# Authorized and unauthorized licenses in LOWER CASE
[Licenses]
authorized_licenses:
bsd
new bsd
bsd license
new bsd license
simplified bsd
apache
apache 2.0
apache software license
gnu lgpl
lgpl with exceptions or zpl
isc license
isc license (iscl)
mit
mit license
python software foundation license
zpl 2.1
unauthorized_licenses:
gpl v3
[Authorized Packages]
# Python software license (see http://zesty.ca/python/uuid.README.txt)
uuid: 1.30
importlib-metadata: *
実行時に CodeBuild の依存関係をインストールすると、非効率的で時間がかかる場合があります。依存関係が既に組み込まれていて、ビルドを高速化するための準備が整った独自のカスタム CodeBuild イメージを作成することもできます。また、デフォルトの CodeBuild イメージの機能をさらに拡張するために以下を行うこともできます。(参照:カスタムビルド環境)