

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

# Buat pipeline yang menggunakan CodeBuild (AWS CLI)
<a name="how-to-create-pipeline-cli"></a>

Gunakan prosedur berikut untuk membuat pipeline yang digunakan CodeBuild untuk membangun kode sumber Anda.

Untuk menggunakan AWS CLI untuk membuat pipeline yang menyebarkan kode sumber bawaan Anda atau yang hanya menguji kode sumber Anda, Anda dapat menyesuaikan instruksi di [Edit pipeline (AWS CLI)](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-edit-pipelines.html#how-to-edit-pipelines-cli) dan [referensi struktur CodePipeline pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) di *Panduan AWS CodePipeline Pengguna*.

1. Buat atau identifikasi proyek pembangunan di CodeBuild. Untuk informasi selengkapnya, lihat [Buat proyek build](create-project.md).
**penting**  
Proyek build harus menentukan pengaturan artefak keluaran build (meskipun CodePipeline mengesampingkannya). Untuk informasi lebih lanjut, lihat deskripsi `artifacts` di[Buat proyek build (AWS CLI)](create-project.md#create-project-cli).

1. Pastikan Anda telah mengonfigurasi kunci AWS akses dan kunci akses AWS rahasia yang sesuai dengan salah satu entitas IAM yang dijelaskan dalam topik ini. AWS CLI Untuk informasi selengkapnya, lihat [Menyiapkan AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) di *Panduan AWS Command Line Interface Pengguna*.

1. Buat file berformat JSON yang mewakili struktur pipeline. Beri nama file `create-pipeline.json` atau yang serupa. Misalnya, struktur berformat JSON ini membuat pipeline dengan aksi sumber yang mereferensikan bucket masukan S3 dan tindakan build yang menggunakan: CodeBuild

   ```
   {
     "pipeline": {
       "roleArn": "arn:aws:iam::<account-id>:role/<AWS-CodePipeline-service-role-name>",
       "stages": [
         {
           "name": "Source",
           "actions": [
             {
               "inputArtifacts": [],
               "name": "Source",
               "actionTypeId": {
                 "category": "Source",
                 "owner": "AWS",
                 "version": "1",
                 "provider": "S3"
               },
               "outputArtifacts": [
                 {
                   "name": "MyApp"
                 }
               ],
               "configuration": {
                 "S3Bucket": "<bucket-name>",
                 "S3ObjectKey": "<source-code-file-name.zip>"
               },
               "runOrder": 1
             }
           ]
         },
         {
           "name": "Build",
           "actions": [
             {
               "inputArtifacts": [
                 {
                   "name": "MyApp"
                 }
               ],
               "name": "Build",
               "actionTypeId": {
                 "category": "Build",
                 "owner": "AWS",
                 "version": "1",
                 "provider": "CodeBuild"
               },
               "outputArtifacts": [
                 {
                   "name": "default"
                 }
               ],
               "configuration": {
                 "ProjectName": "<build-project-name>"
               },
               "runOrder": 1
             }
           ]
         }
       ],
       "artifactStore": {
         "type": "S3",
         "location": "<CodePipeline-internal-bucket-name>"
       },
       "name": "<my-pipeline-name>",
       "version": 1
     }
   }
   ```

   Dalam data berformat JSON ini:
   + Nilai `roleArn` harus sesuai dengan ARN dari peran CodePipeline layanan yang Anda buat atau identifikasi sebagai bagian dari prasyarat.
   + Nilai `S3Bucket` dan `S3ObjectKey` dalam `configuration` asumsi kode sumber disimpan dalam ember S3. Untuk pengaturan untuk jenis repositori kode sumber lainnya, lihat [referensi struktur CodePipeline pipa](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) di *AWS CodePipeline Panduan Pengguna*.
   + Nilai dari `ProjectName` adalah nama proyek CodeBuild build yang Anda buat sebelumnya dalam prosedur ini.
   + Nilai `location` adalah nama bucket S3 yang digunakan oleh pipeline ini. Untuk informasi selengkapnya, lihat [Membuat kebijakan untuk Bucket S3 untuk digunakan sebagai penyimpanan artefak CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/access-permissions.html#how-to-create-bucket-policy) di *AWS CodePipeline Panduan Pengguna*.
   + Nilai dari `name` adalah nama pipa ini. Semua nama pipeline harus unik untuk akun Anda.

   Meskipun data ini hanya menjelaskan tindakan sumber dan tindakan build, Anda dapat menambahkan tindakan untuk aktivitas yang terkait dengan pengujian, menerapkan artefak keluaran build, menjalankan AWS Lambda fungsi, dan banyak lagi. Untuk informasi selengkapnya, lihat [referensi struktur AWS CodePipeline pipa](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) di *Panduan AWS CodePipeline Pengguna*.

1. Beralih ke folder yang berisi file JSON, dan kemudian jalankan CodePipeline **[create-pipeline](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/create-pipeline.html)** perintah, tentukan nama file:

   ```
   aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
   ```
**catatan**  
Anda harus membuat pipeline di AWS Wilayah yang CodeBuild didukung. Untuk informasi selengkapnya, lihat [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) di *Referensi Umum Amazon Web Services*.

   Data berformat JSON muncul di output, dan CodePipeline membuat pipeline.

1. Untuk mendapatkan informasi tentang status pipeline, jalankan CodePipeline **[get-pipeline-state](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html)** perintah, dengan menentukan nama pipeline:

   ```
   aws codepipeline get-pipeline-state --name <my-pipeline-name>
   ```

   Dalam output, cari informasi yang mengonfirmasi bahwa build berhasil. Ellipses (`...`) digunakan untuk menunjukkan data yang telah dihilangkan untuk singkatnya.

   ```
   {
     ...
     "stageStates": [
       ...  
       {
         "actionStates": [
           {
             "actionName": "CodeBuild",
             "latestExecution": {
               "status": "SUCCEEDED",
               ...
             },
             ...
           }
         ]
       }
     ]
   }
   ```

   Jika Anda menjalankan perintah ini terlalu dini, Anda mungkin tidak melihat informasi apa pun tentang tindakan build. Anda mungkin perlu menjalankan perintah ini beberapa kali hingga pipeline selesai menjalankan aksi build.

1. Setelah build berhasil, ikuti petunjuk ini untuk mendapatkan artefak keluaran build. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)
**catatan**  
Anda juga bisa mendapatkan artefak keluaran build dengan memilih tautan **artefak Build** di halaman detail build terkait di CodeBuild konsol. Untuk sampai ke halaman ini, lewati langkah-langkah lainnya dalam prosedur ini, dan lihat[Lihat detail build (konsol)](view-build-details.md#view-build-details-console).

1. Dalam daftar ember, buka ember yang digunakan oleh pipa. Nama bucket harus mengikuti formatnya`codepipeline-<region-ID>-<random-number>`. Anda bisa mendapatkan nama bucket dari `create-pipeline.json` file atau Anda dapat menjalankan CodePipeline **get-pipeline** perintah untuk mendapatkan nama bucket.

   ```
   aws codepipeline get-pipeline --name <pipeline-name>
   ```

    Dalam output, `pipeline` objek berisi `artifactStore` objek, yang berisi `location` nilai dengan nama ember.

1. Buka folder yang cocok dengan nama pipeline Anda (misalnya,`<pipeline-name>`).

1. Di folder itu, buka folder bernama`default`.

1. Ekstrak isi file tersebut. Jika ada beberapa file di folder itu, ekstrak konten file dengan stempel waktu **Terakhir Modifikasi** terbaru. (Anda mungkin perlu memberikan file `.zip` ekstensi sehingga Anda dapat bekerja dengannya di utilitas ZIP sistem Anda.) Artefak keluaran build ada dalam konten file yang diekstraksi.