Menggunakan paket Python diCodeBuild - CodeArtifact

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan paket Python diCodeBuild

Langkah-langkah berikut telah diuji dengan sistem operasi yang tercantum dalamGambar Docker disediakan olehCodeBuild.

Mengatur izin dengan IAM role

Langkah-langkah ini diperlukan saat menggunakan paket Python dariCodeArtifactdiCodeBuild.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Peran. PadaPeranhalaman, mengedit peran yang digunakan olehCodeBuildmembangun proyek. Peran ini harus memiliki izin berikut.

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

    Jika Anda juga ingin menggunakanCodeBuilduntuk mempublikasikan paket, tambahkancodeartifact:PublishPackageVersionizin.

    Untuk informasi selengkapnya, lihat Modifying a Role dalam Panduan Pengguna IAM.

Masuk dan gunakan pip atau twine

Untuk menggunakan paket Python dariCodeBuild, jalankanloginperintah daripre-buildbagian dari proyek Andabuildspec.yamlfile untuk dikonfigurasipipuntuk mengambil paket dariCodeArtifact. Untuk informasi selengkapnya, lihat MenggunakanCodeArtifactdengan Python.

Setelah login telah berjalan dengan sukses, Anda dapat menjalankan perintah pip dari bagian build untuk menginstal atau memublikasikan paket Python.

Linux

catatan

Hal ini hanya diperlukan untuk meng-upgradeAWS CLIbersamapip3 install awscli --upgrade --userjika Anda menggunakan yang lebih tuaCodeBuildgambar. Jika Anda menggunakan versi gambar terbaru, Anda dapat menghapus baris tersebut.

Untuk menginstal paket Python menggunakan pip:

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

Untuk memublikasikan paket Python menggunakan twine:

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

Untuk menginstal paket Python menggunakan 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-owner 111122223333 --repository my_repo' build: commands: - pip install requests

Untuk memublikasikan paket Python menggunakan 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-owner 111122223333 --repository my_repo' build: commands: - twine upload --repository codeartifact mypackage