本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在中使用套件CodeBuild
以下步驟已通過列出的操作系統進行了測試碼頭圖片提供CodeBuild。
使用 IAM 角色設定許可
使用 Python 套件時,需要執行這些步驟CodeArtifact在CodeBuild。
登入 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 或麻線
若要使用 Python 套件CodeBuild,執行login
來自的命令pre-build
項目的部分buildspec.yaml
要設定的檔案pip
從中獲取軟件包CodeArtifact。如需詳細資訊,請參閱 CodeArtifact 搭配 Python 使用。
之後login
已成功運行,您可以運行pip
來自的指令build
部分以安裝或發布 Python 軟件包。
Linux
注意
只需要升級AWS CLI與pip3 install awscli --upgrade --user
如果您使用的是較舊的CodeBuild圖像。如果您使用的是最新的映像版本,則可以刪除該行。
若要使用安裝 Python 套件pip
:
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
:
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
若要使用安裝 Python 套件pip
:
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
:
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