Utilisation de packages Python dansCodeBuild - CodeArtifact

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.

  1. Connectez-vous à l’outil AWS Management Console, puis ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. 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 lecodeartifact:PublishPackageVersionautorisation.

    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 lelogincommande à partir dupre-buildsection de votre projetbuildspec.yamlfichier à configurerpippour récupérer des packages depuisCodeArtifact. Pour plus d'informations, veuillez consulter Utilisation CodeArtifact avec Python.

Aprèslogins'est exécuté avec succès, vous pouvez exécuterpipcommandes provenant dubuildsection pour installer ou publier des packages Python.

Linux

Note

Il suffit de mettre à jour leAWS CLIavecpip3 install awscli --upgrade --usersi 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-owner 111122223333 --repository my_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-owner 111122223333 --repository my_repo build: commands: - twine upload --repository codeartifact mypackage

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-owner 111122223333 --repository my_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-owner 111122223333 --repository my_repo' build: commands: - twine upload --repository codeartifact mypackage