

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

# Menggunakan paket Python di CodeBuild
<a name="using-python-packages-in-codebuild"></a>

Langkah-langkah berikut telah diuji dengan sistem operasi yang tercantum dalam [gambar Docker yang disediakan oleh CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html).

## Mengatur izin dengan IAM role
<a name="python-packages-in-codebuild-iam"></a>

Langkah-langkah ini diperlukan saat menggunakan paket Python dari CodeArtifact dalam. CodeBuild

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. Pada halaman **Peran**, edit peran yang digunakan oleh project CodeBuild build Anda. Peran ini harus memiliki izin berikut.

------
#### [ JSON ]

****  

   ```
   {
     "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 menggunakan CodeBuild untuk mempublikasikan paket, tambahkan **codeartifact:PublishPackageVersion** izin. 

   Untuk informasi selengkapnya, lihat [Modifying a Role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dalam *Panduan Pengguna IAM*.

## Masuk dan gunakan pip atau twine
<a name="python-packages-in-codebuild-login"></a>

Untuk menggunakan paket Python dari CodeBuild, jalankan `login` perintah dari `pre-build` bagian `buildspec.yaml` file proyek Anda untuk mengkonfigurasi `pip` untuk mengambil paket dari. CodeArtifact Untuk informasi selengkapnya, lihat [Menggunakan CodeArtifact dengan Python](using-python.md).

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

### Linux
<a name="python-packages-in-codebuild-login-linux"></a>

**catatan**  
Anda hanya perlu memutakhirkan AWS CLI dengan `pip3 install awscli --upgrade --user` jika Anda menggunakan CodeBuild gambar yang lebih lama. 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
<a name="python-packages-in-codebuild-login-windows"></a>

 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
```