Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de paquetes de Python en CodeBuild
Los siguientes pasos se han probado con los sistemas operativos que figuran en las imágenes de Docker proporcionadas por CodeBuild.
Configure los permisos necesarios para los roles de IAM
Estos pasos son necesarios cuando se utilizan paquetes Python de CodeArtifact en CodeBuild.
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
Seleccione Roles (Roles) en el panel de navegación. En la página Roles, edite el rol que usa su proyecto de compilación de CodeBuild. Este rol debe tener los siguientes permisos.
{ "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" } } } ] }
importante
Si también quiere usar CodeBuild para publicar paquetes, añada el permiso
codeartifact:PublishPackageVersion
.Para obtener información, consulte Modificación de un rol en la Guía del usuario de IAM.
Regístrese y utilice pip o twine
Para usar los paquetes Python de CodeBuild, ejecute el comando login
de la sección pre-build
de su archivo del proyecto pip
para configurar la búsqueda de paquetes buildspec.yaml
de CodeArtifact. Para obtener más información, consulte Uso CodeArtifact con Python.
Una vez que se haya ejecutado login
correctamente, puede ejecutar los comandos pip
de la sección build
para instalar o publicar paquetes Python.
Linux
nota
Solo es necesario actualizar la AWS CLI con pip3 install awscli --upgrade --user
si está utilizando una imagen de CodeBuild anterior. Si está utilizando las versiones de imagen más recientes, puede eliminar esa línea.
Para instalar paquetes de Python mediante 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
Para publicar paquetes de Python mediante 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
Para instalar paquetes de Python mediante 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
Para publicar paquetes de Python mediante 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