

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

# Tutorial: Gunakan klon lengkap dengan sumber CodeCommit pipa
<a name="tutorials-codecommit-gitclone"></a>

Anda dapat memilih opsi klon lengkap untuk tindakan CodeCommit sumber Anda di CodePipeline. Gunakan opsi ini CodeBuild untuk mengizinkan akses metadata Git dalam tindakan pembuatan pipeline Anda.

Dalam tutorial ini, Anda membuat pipeline yang mengakses CodeCommit repositori Anda, menggunakan opsi klon lengkap untuk data sumber, dan menjalankan CodeBuild build yang mengkloning repositori Anda dan melakukan perintah Git untuk repositori.

**catatan**  
CodeBuild action adalah satu-satunya tindakan hilir yang mendukung penggunaan metadata Git yang tersedia dengan opsi klon Git. Selain itu, meskipun pipeline Anda dapat berisi tindakan lintas akun, CodeCommit tindakan dan CodeBuild tindakan harus berada di akun yang sama agar opsi klon lengkap berhasil.

**penting**  
Sebagai bagian dari pembuatan pipa, ember artefak S3 yang disediakan oleh pelanggan akan digunakan CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS yang aman dan dapat diandalkan.

**Topics**
+ [Prasyarat](#tutorials-codecommit-gitclone-prereq)
+ [Langkah 1: Buat file README](#tutorials-codecommit-gitclone-file)
+ [Langkah 2: Buat pipeline Anda dan bangun proyek](#tutorials-codecommit-gitclone-pipeline)
+ [Langkah 3: Perbarui kebijakan peran CodeBuild layanan untuk mengkloning repositori](#tutorials-codecommit-gitclone-rolepolicy)
+ [Langkah 4: Lihat perintah repositori dalam output build](#tutorials-codecommit-gitclone-view)

## Prasyarat
<a name="tutorials-codecommit-gitclone-prereq"></a>

Sebelum memulai, Anda harus membuat CodeCommit repositori di AWS akun dan Wilayah yang sama dengan pipeline Anda.

## Langkah 1: Buat file README
<a name="tutorials-codecommit-gitclone-file"></a>

Gunakan langkah-langkah ini untuk menambahkan file README ke repositori sumber Anda. File README menyediakan file sumber contoh untuk tindakan CodeBuild hilir untuk dibaca.

**Untuk menambahkan file README**

1. Masuk ke repositori Anda dan pilih repositori Anda.

1. Untuk membuat file baru, pilih **Tambah file > Buat file**. Beri nama file`README.md`. file dan tambahkan teks berikut.

   ```
   This is a CodeCommit repository!
   ```

1. Pilih **Perubahan commit**.

   Pastikan file `README.md` berada di tingkat root repositori Anda..

## Langkah 2: Buat pipeline Anda dan bangun proyek
<a name="tutorials-codecommit-gitclone-pipeline"></a>

Dalam bagian ini, Anda membuat alur dengan tindakan berikut:
+ Tahap sumber dengan aksi CodeCommit sumber.
+ Tahap build dengan aksi AWS CodeBuild build.

**Untuk membuat alur dengan wizard**

1. Masuk ke CodePipeline konsol di [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Pada halaman **Selamat Datang**, halaman **Memulai**, atau halaman **Alur**, pilih **Buat alur**.

1. Pada **Langkah 1: Pilih halaman opsi pembuatan**, di bawah **Opsi pembuatan**, pilih opsi **Build custom pipeline**. Pilih **Berikutnya**.

1. Pada **Langkah 2: Pilih pengaturan pipeline**, dalam **nama Pipeline**, masukkan**MyCodeCommitPipeline**.

1. CodePipeline menyediakan pipa tipe V1 dan V2, yang berbeda dalam karakteristik dan harga. Jenis V2 adalah satu-satunya jenis yang dapat Anda pilih di konsol. Untuk informasi selengkapnya, lihat [jenis pipa](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel). Untuk informasi tentang harga CodePipeline, lihat [Harga](https://aws.amazon.com/codepipeline/pricing/).

1. Dalam **peran Layanan**, lakukan salah satu hal berikut:
   + Pilih **Peran layanan yang ada**.
   + Pilih peran CodePipeline layanan Anda yang ada. Peran ini harus memiliki izin `codecommit:GetRepository` IAM untuk kebijakan peran layanan Anda. Lihat [Menambahkan izin ke peran CodePipeline layanan](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services).

1. Di bawah **Pengaturan lanjutan**, biarkan default. Pilih **Berikutnya**.

1. Pada **Langkah 3: Tambahkan halaman tahap sumber**, lakukan hal berikut:

   1. Di **penyedia Sumber**, pilih **CodeCommit**.

   1. Dalam nama **Repositori, pilih nama** repositori Anda.

   1. Di **Nama cabang**, pilih nama cabang Anda.

   1. Pastikan opsi **Mulai pipeline pada perubahan kode sumber** dipilih.

   1. Di bawah **Format artefak keluaran**, pilih **Klon penuh** untuk mengaktifkan opsi klon Git untuk repositori sumber. Hanya tindakan yang disediakan oleh yang CodeBuild dapat menggunakan opsi klon Git. 

   Pilih **Berikutnya**.

1. Pada **Langkah 4: Tambahkan tahap build**, lakukan hal berikut:

   1. Di **Penyedia pembangunan**, pilih **AWS CodeBuild**. Izinkan **Wilayah** ke default ke Wilayah alur.

   1. Pilih **Buat proyek**.

   1. Di **Nama proyek**, masukkan nama untuk proyek pembangunan ini.

   1. Di **Citra lingkungan**, pilih **Citra terkelola**. Untuk **Sistem operasi**, pilih **Ubuntu**.

   1. Untuk **Waktu aktif**, pilih **Standar**. **Untuk **Gambar**, pilih:5.0aws/codebuild/standard.**

   1. Untuk **Peran layanan**, pilih **Peran layanan baru**.
**catatan**  
Perhatikan nama peran CodeBuild layanan Anda. Anda akan membutuhkan nama peran untuk langkah terakhir dalam tutorial ini.

   1. Pada **Buildspec**, untuk **Spesifikasi membangun**, pilih **Sisipkan perintah membangun**. Pilih **Beralih ke editor**, lalu di bawah **perintah Build** paste kode berikut.

      ```
      version: 0.2
      
      env:
        git-credential-helper: yes
      phases:
        install:
          #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
          #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
          runtime-versions:
            nodejs: 12
            # name: version
          #commands:
            # - command
            # - command
        pre_build:
          commands:
            - ls -lt
            - cat README.md
        build:
          commands:
            - git log | head -100
            - git status
            - ls
            - git describe --all
        #post_build:
          #commands:
            # - command
            # - command
      #artifacts:
        #files:
          # - location
        #name: $(date +%Y-%m-%d)
        #discard-paths: yes
        #base-directory: location
      #cache:
        #paths:
          # - paths
      ```

   1. Pilih **Lanjutkan ke CodePipeline**. Ini mengembalikan Anda ke CodePipeline konsol dan membuat CodeBuild proyek yang menggunakan perintah build untuk konfigurasi. Proyek build menggunakan peran layanan untuk mengelola Layanan AWS izin. Langkah ini mungkin memakan waktu beberapa menit.

   1. Pilih **Berikutnya**.

1. Pada **Langkah 5: Tambahkan tahap pengujian**, pilih **Lewati tahap pengujian**, lalu terima pesan peringatan dengan memilih **Lewati** lagi. 

   Pilih **Berikutnya**.

1. Pada **Langkah 6: Tambahkan halaman tahap penerapan**, pilih **Lewati tahap penerapan**, lalu terima pesan peringatan dengan memilih **Lewati** lagi. Pilih **Berikutnya**.

1. Pada **Langkah 7: Tinjau**, pilih **Buat pipeline**.

## Langkah 3: Perbarui kebijakan peran CodeBuild layanan untuk mengkloning repositori
<a name="tutorials-codecommit-gitclone-rolepolicy"></a>

Proses pipeline awal akan gagal karena Anda perlu memperbarui peran CodeBuild layanan dengan izin untuk menarik dari repositori Anda.

Tambahkan izin `codecommit:GitPull` IAM ke kebijakan peran layanan Anda. Untuk petunjuk memperbarui kebijakan di konsol IAM, lihat[Tambahkan CodeBuild GitClone izin untuk tindakan CodeCommit sumber](troubleshooting.md#codebuild-role-codecommitclone).

## Langkah 4: Lihat perintah repositori dalam output build
<a name="tutorials-codecommit-gitclone-view"></a>

**Untuk melihat output build**

1. Jika peran layanan Anda berhasil diperbarui, pilih **Coba lagi** pada CodeBuild tahap yang gagal.

1. Setelah pipeline berjalan dengan sukses, pada tahap build yang berhasil, pilih **Lihat detail**.

   Pada halaman detail, pilih tab **Log**. Lihat output CodeBuild build. Perintah menampilkan nilai variabel yang dimasukkan.

   Perintah menampilkan isi `README.md` file, daftar file dalam direktori, mengkloning repositori, melihat log, dan menjalankan. `git describe --all` 