Verwenden von Python-Paketen inCodeBuild - CodeArtifact

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Python-Paketen inCodeBuild

Die folgenden Schritte wurden mit den Betriebssystemen getestet, die in derDocker-Images bereitgestellt vonCodeBuild.

Berechtigungen mit IAM-Rollen einrichten

Diese Schritte sind erforderlich, wenn Sie Python-Pakete von verwendenCodeArtifactinCodeBuild.

  1. Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Roles. Auf derRollenSeite, bearbeiten Sie die von Ihrem verwendete RolleCodeBuildProjekt erstellen. Diese Rolle muss über die folgenden Berechtigungen verfügen.

    { "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" } } } ] }
    Wichtig

    Wenn du auch verwenden möchtestCodeBuildum Pakete zu veröffentlichen, fügen Sie das hinzucodeartifact:PublishPackageVersionerlaubnis.

    Informationen finden Sie unterRolle ändernin derIAM-Benutzerhandbuch.

Loggen Sie sich ein und verwenden Sie Pip oder Twine

Um Python-Pakete zu verwenden vonCodeBuild, führe das ausloginBefehl von derpre-buildAbschnitt Ihres Projektsbuildspec.yamlzu konfigurierende Dateipipum Pakete abzurufen vonCodeArtifact. Weitere Informationen finden Sie unter CodeArtifact Mit Python verwenden.

Danachloginwurde erfolgreich ausgeführt, du kannst laufenpipBefehle von derbuildAbschnitt zum Installieren oder Veröffentlichen von Python-Paketen.

Linux

Anmerkung

Es ist nur ein Upgrade des erforderlichAWS CLImitpip3 install awscli --upgrade --userwenn Sie ein älteres verwendenCodeBuildBild. Wenn Sie die neuesten Image-Versionen verwenden, können Sie diese Zeile entfernen.

Um Python-Pakete zu installieren mitpip:

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

Um Python-Pakete zu veröffentlichen mittwine:

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

Um Python-Pakete zu installieren mitpip:

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

Um Python-Pakete zu veröffentlichen mittwine:

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