Usare i pacchetti Python inCodeBuild - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usare i pacchetti Python inCodeBuild

I passaggi seguenti sono stati testati con i sistemi operativi elencati nelImmagini Docker fornite daCodeBuild.

Configura le autorizzazioni con i ruoli IAM

Questi passaggi sono necessari quando si utilizzano pacchetti Python daCodeArtifactnelCodeBuild.

  1. Accedi alla AWS Management Console e apri la console di IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Ruoli. SulRuolipagina, modifica il ruolo utilizzato dal tuoCodeBuildcostruire un progetto. Questo ruolo deve disporre delle seguenti autorizzazioni.

    { "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

    Se vuoi usare ancheCodeBuildper pubblicare pacchetti, aggiungicodeartifact:PublishPackageVersionpermesso.

    Per informazioni, vedereModifica di un ruolonelGuida per l'utente IAM.

Effettua il login e usa pip or twine

Per usare pacchetti Python daCodeBuild, eseguilogincomando dalpre-buildsezione del tuo progettobuildspec.yamlfile da configurarepipper recuperare pacchetti daCodeArtifact. Per ulteriori informazioni, consulta Usare CodeArtifact con Python.

Dopologinè stato eseguito con successo, puoi correrepipcomandi dalbuildsezione per installare o pubblicare pacchetti Python.

Linux

Nota

È necessario solo aggiornare ilAWS CLIconpip3 install awscli --upgrade --userse si utilizza un dispositivo più vecchioCodeBuildimmagine. Se stai utilizzando le versioni più recenti delle immagini, puoi rimuovere quella riga.

Per installare i pacchetti Python usandopip:

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

Per pubblicare pacchetti Python usandotwine:

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

Per installare i pacchetti Python usandopip:

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

Per pubblicare pacchetti Python usandotwine:

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