Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de packages Python dansCodeBuild
Les étapes suivantes ont été testées avec les systèmes d'exploitation répertoriés dans leImages Docker fournies parCodeBuild.
Configurer des autorisations avec des rôles IAM
Ces étapes sont requises lors de l'utilisation de packages Python provenant deCodeArtifactdansCodeBuild.
Connectez-vous à l’outil AWS Management Console, puis ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation, sélectionnez Rôles. Sur leRôlespage, modifiez le rôle utilisé par votreCodeBuildprojet de construction. Ce rôle doit disposer des autorisations suivantes.
{ "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" } } } ] }
Important
Si vous souhaitez également utiliserCodeBuildpour publier des packages, ajoutez le
codeartifact:PublishPackageVersion
autorisation.Pour plus d'informations, voirModification d'un rôledans leGuide de l'utilisateur IAM.
Connectez-vous et utilisez du pépin ou de la ficelle
Pour utiliser des packages Python depuisCodeBuild, lancez lelogin
commande à partir dupre-build
section de votre projetbuildspec.yaml
fichier à configurerpip
pour récupérer des packages depuisCodeArtifact. Pour plus d'informations, veuillez consulter Utilisation CodeArtifact avec Python.
Aprèslogin
s'est exécuté avec succès, vous pouvez exécuterpip
commandes provenant dubuild
section pour installer ou publier des packages Python.
Linux
Note
Il suffit de mettre à jour leAWS CLIavecpip3 install awscli --upgrade --user
si vous utilisez une version plus ancienneCodeBuildimage. Si vous utilisez les dernières versions d'image, vous pouvez supprimer cette ligne.
Pour installer des packages Python à l'aide depip
:
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
Pour publier des packages Python à l'aide detwine
:
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
Pour installer des packages Python à l'aide depip
:
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
Pour publier des packages Python à l'aide detwine
:
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