기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CodeBuild에서 Python 패키지 사용
다음 단계는 CodeBuild에서 제공하는 도커 이미지에 나열된 운영 체제를 사용하여 테스트되었습니다.
IAM 역할을 사용하여 권한 설정
이러한 단계는 CodeBuild에서 CodeArtifact의 Python 패키지를 사용할 때 필요합니다.
AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 역할을 선택합니다. 역할 페이지에서 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
명령을 실행하여 CodeArtifact에서 패키지를 가져오도록 pip
을 구성합니다. 자세한 내용은 Python CodeArtifact 과 함께 사용 섹션을 참조하세요.
login
이 성공적으로 실행되면 build
섹션에서 pip
명령을 실행하여 Python 패키지를 설치하거나 게시할 수 있습니다.
Linux
참고
이전 CodeBuild 이미지를 사용한다면 AWS CLI를 pip3 install awscli --upgrade --user
로 업그레이드하기만 하면 됩니다. 최신 이미지 버전을 사용한다면 이 줄을 제거해도 됩니다.
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