翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeBuild での Python パッケージの使用
次のステップは、 CodeBuild に用意されている Docker イメージ に記載されているオペレーティングシステムでテストされています。
IAM ロールを使用したアクセス許可の設定
これらのステップは、CodeBuild で CodeArtifact の Python パッケージを使用する場合に必要です。
AWS Management Console にサインインして、https://console.aws.amazon.com/iam/
で IAM コンソールを開きます。 -
ナビゲーションペインで Roles (ロール) を選択します。ロールページで、CodeBuild 構築プロジェクトで使用されるロールを編集します。このロールには、以下のアクセス許可が必要です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:GetAuthorizationToken", "codeartifact:GetRepositoryEndpoint", "codeartifact:ReadFromRepository" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }
重要
CodeBuild を使用してパッケージを公開する場合は、
codeartifact:PublishPackageVersion
アクセス許可 を追加します。詳細については、IAM ユーザーガイド の ロールの変更 を参照してください。
ログインして pip または twine を使う
CodeBuild の Python パッケージを使用するには、プロジェクトの buildspec.yaml
ファイルの pre-build
セクションから login
コマンドを実行し、pip
を設定し、CodeArtifact からパッケージをフェッチします。詳細については、PythonでCodeArtifactを使う を参照してください。
login
が正常に実行されたら、build
セクションから pip
コマンドを実行して Python パッケージをインストールまたは公開できます。
Linux
注記
古いCodeBuild イメージを使用している場合は、pip3 install awscli --upgrade --user
でAWS CLIをアップグレードするだけです。最新のイメージバージョンを使用している場合は、その行を削除できます。
pip
を使用して Python パッケージをインストールするには:
pre_build: commands: - pip3 install awscli --upgrade --user - aws codeartifact login --tool pip --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
build: commands: - pip install requests
twine
を使用して Python パッケージを公開するには:
pre_build: commands: - pip3 install awscli --upgrade --user - aws codeartifact login --tool twine --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
build: commands: - twine upload --repository codeartifactmypackage
Windows
pip
を使用して Python パッケージをインストールするには:
version: 0.2 phases: install: commands: - '[Net.ServicePointManager]::SecurityProtocol = "Tls12"; Invoke-WebRequest https://awscli.amazonaws.com/AWSCLIV2.msi -OutFile $env:TEMP/AWSCLIV2.msi' - Start-Process -Wait msiexec "/i $env:TEMP\AWSCLIV2.msi /quiet /norestart" pre_build: commands: - '&"C:\Program Files\Amazon\AWSCLIV2\aws" codeartifact login --tool pip --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
' build: commands: - pip install requests
twine
を使用して Python パッケージを公開するには:
version: 0.2 phases: install: commands: - '[Net.ServicePointManager]::SecurityProtocol = "Tls12"; Invoke-WebRequest https://awscli.amazonaws.com/AWSCLIV2.msi -OutFile $env:TEMP/AWSCLIV2.msi' - Start-Process -Wait msiexec "/i $env:TEMP\AWSCLIV2.msi /quiet /norestart" pre_build: commands: - '&"C:\Program Files\Amazon\AWSCLIV2\aws" codeartifact login --tool twine --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
' build: commands: - twine upload --repository codeartifactmypackage