

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

# Buat pipeline CodePipeline yang menggunakan sumber daya dari AWS akun lain
<a name="pipelines-create-cross-account"></a>

Anda mungkin ingin membuat pipeline yang menggunakan sumber daya yang dibuat atau dikelola oleh AWS akun lain. Misalnya, Anda mungkin ingin menggunakan satu akun untuk pipeline dan akun lainnya untuk CodeDeploy sumber daya Anda. 

**catatan**  
Saat Anda membuat pipeline dengan tindakan dari beberapa akun, Anda harus mengonfigurasi tindakan Anda sehingga mereka masih dapat mengakses artefak dalam batasan pipeline lintas akun. Batasan berikut berlaku untuk tindakan lintas akun:  
Secara umum, suatu tindakan hanya dapat mengkonsumsi artefak jika:  
Tindakan ini ada di akun yang sama dengan akun pipeline ATAU
Artefak dibuat di akun pipeline untuk tindakan di akun lain ATAU 
Artefak itu diproduksi oleh aksi sebelumnya dalam akun yang sama dengan aksinya
Dengan kata lain, Anda tidak dapat meneruskan artefak dari satu akun ke akun lain jika tidak ada akun yang merupakan akun pipeline.
Tindakan lintas akun tidak didukung untuk jenis tindakan berikut:  
Jenkins membangun tindakan

Untuk contoh ini, Anda harus membuat kunci AWS Key Management Service (AWS KMS) untuk digunakan, menambahkan kunci ke pipeline, dan menyiapkan kebijakan dan peran akun untuk mengaktifkan akses lintas akun. Untuk kunci AWS KMS, Anda dapat menggunakan ID kunci, kunci ARN, atau alias ARN. 

**catatan**  
Alias hanya dikenali di akun yang membuat kunci KMS. Untuk tindakan lintas akun, Anda hanya dapat menggunakan ID kunci atau ARN kunci untuk mengidentifikasi kunci. Tindakan lintas akun melibatkan penggunaan peran dari akun lain (accountB), sehingga menentukan ID kunci akan menggunakan kunci dari akun lain (accounTB).

Dalam panduan ini dan contohnya, *AccountA* adalah akun yang awalnya digunakan untuk membuat pipeline. Ini memiliki akses ke bucket Amazon S3 yang digunakan untuk menyimpan artefak pipa dan peran layanan yang digunakan oleh. AWS CodePipeline*AccountB*adalah akun yang awalnya digunakan untuk membuat CodeDeploy aplikasi, grup penyebaran, dan peran layanan yang digunakan oleh CodeDeploy. 

*AccountA*Untuk mengedit pipeline untuk menggunakan CodeDeploy aplikasi yang dibuat oleh*AccountB*, *AccountA* harus: 
+ Minta ARN atau ID akun *AccountB* (dalam panduan ini, ID adalah*AccountB*). *012ID\$1ACCOUNT\$1B*
+ Buat atau gunakan kunci terkelola AWS KMS pelanggan di Wilayah untuk pipeline, dan berikan izin untuk menggunakan kunci tersebut ke peran layanan (*CodePipeline\$1Service\$1Role*) dan*AccountB*. 
+ Buat kebijakan bucket Amazon S3 yang memberikan *AccountB* akses ke bucket Amazon S3 (misalnya,). *codepipeline-us-east-2-1234567890* 
+ Buat kebijakan yang memungkinkan *AccountA* untuk mengambil peran yang dikonfigurasi oleh*AccountB*, dan lampirkan kebijakan tersebut ke peran layanan (*CodePipeline\$1Service\$1Role*).
+ Edit pipeline untuk menggunakan AWS KMS kunci yang dikelola pelanggan alih-alih kunci default.

*AccountB*Untuk memungkinkan akses ke sumber dayanya ke pipa yang dibuat di*AccountA*, *AccountB* harus:
+ Minta ARN atau ID akun *AccountA* (dalam panduan ini, ID adalah*AccountA*). *012ID\$1ACCOUNT\$1A*
+ Buat kebijakan yang diterapkan pada [peran instans Amazon EC2](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html) yang dikonfigurasi CodeDeploy agar memungkinkan akses ke bucket Amazon S3 (). *codepipeline-us-east-2-1234567890*
+ Buat kebijakan yang diterapkan pada [peran instans Amazon EC2](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html) yang dikonfigurasi CodeDeploy agar memungkinkan akses ke kunci terkelola AWS KMS pelanggan yang digunakan untuk mengenkripsi artefak pipeline. *AccountA*
+ Konfigurasikan dan lampirkan peran IAM (*CrossAccount\$1Role*) dengan kebijakan hubungan kepercayaan yang memungkinkan peran CodePipeline layanan *AccountA* untuk mengambil peran tersebut.
+ Buat kebijakan yang memungkinkan akses ke sumber daya penerapan yang diperlukan oleh pipeline dan lampirkan*CrossAccount\$1Role*.
+ Buat kebijakan yang memungkinkan akses ke bucket Amazon S3 (*codepipeline-us-east-2-1234567890*) dan lampirkan. *CrossAccount\$1Role*

**Topics**
+ [Prasyarat: Buat kunci enkripsi AWS KMS](#pipelines-create-cross-account-create-key)
+ [Langkah 1: Siapkan kebijakan dan peran akun](#pipelines-create-cross-account-setup)
+ [Langkah 2: Edit pipa](#pipelines-create-cross-account-create)

## Prasyarat: Buat kunci enkripsi AWS KMS
<a name="pipelines-create-cross-account-create-key"></a>

Kunci yang dikelola pelanggan khusus untuk Wilayah, seperti semua AWS KMS kunci. Anda harus membuat AWS KMS kunci terkelola pelanggan di Wilayah yang sama tempat pipeline dibuat (misalnya,`us-east-2`).

**Untuk membuat kunci yang dikelola pelanggan di AWS KMS**

1. Masuk ke Konsol Manajemen AWS with *AccountA* dan buka AWS KMS konsol.

1. Di sebelah kiri, pilih **Kunci yang dikelola pelanggan**.

1. Pilih **Buat kunci**. Di **tombol Configure**, biarkan default **Symmetric** dipilih dan pilih **Next**.

1. Di **Alias**, masukkan alias yang akan digunakan untuk kunci ini (misalnya,*PipelineName-Key*). Secara opsional, berikan deskripsi dan tag untuk kunci ini, lalu pilih **Berikutnya**.

1. **Di **Tentukan Izin Administratif Kunci**, pilih peran atau peran yang ingin Anda lakukan sebagai administrator untuk kunci ini, lalu pilih Berikutnya.**

1. Di **Tentukan Izin Penggunaan Kunci**, di bawah **Akun Ini**, pilih nama peran layanan untuk pipeline (misalnya, CodePipeline \$1Service\$1Role). Di bawah ** AWS Akun lain**, pilih **Tambahkan AWS akun lain**. **Masukkan ID akun *AccountB* untuk menyelesaikan ARN, lalu pilih Berikutnya.**

1. Di **Tinjau dan edit kebijakan utama**, tinjau kebijakan, lalu pilih **Selesai**.

1. Dari daftar kunci, pilih alias kunci Anda dan salin ARN-nya (misalnya***arn:aws:kms:us-east-2:012ID\$1ACCOUNT\$1A:key/2222222-3333333-4444-556677EXAMPLE***,). Anda akan memerlukan ini saat mengedit pipeline dan mengonfigurasi kebijakan.

## Langkah 1: Siapkan kebijakan dan peran akun
<a name="pipelines-create-cross-account-setup"></a>

Setelah Anda membuat AWS KMS kunci, Anda harus membuat dan melampirkan kebijakan yang akan mengaktifkan akses lintas akun. Ini membutuhkan tindakan dari keduanya *AccountA* dan*AccountB*.

**Topics**
+ [Konfigurasikan kebijakan dan peran di akun yang akan membuat pipeline (*AccountA*)](#pipelines-create-cross-account-setup-accounta)
+ [Konfigurasikan kebijakan dan peran di akun yang memiliki AWS resource () *AccountB*](#pipelines-create-cross-account-setup-accountb)

### Konfigurasikan kebijakan dan peran di akun yang akan membuat pipeline (*AccountA*)
<a name="pipelines-create-cross-account-setup-accounta"></a>

Untuk membuat pipeline yang menggunakan CodeDeploy sumber daya yang terkait dengan AWS akun lain, *AccountA* harus mengonfigurasi kebijakan untuk bucket Amazon S3 yang digunakan untuk menyimpan artefak dan peran layanan. CodePipeline

**Untuk membuat kebijakan bucket Amazon S3 yang memberikan akses ke accounTb (konsol)**

1. Masuk ke Konsol Manajemen AWS with *AccountA* dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Dalam daftar bucket Amazon S3, pilih bucket Amazon S3 tempat artefak untuk saluran pipa Anda disimpan. Bucket ini diberi nama`codepipeline-region-1234567EXAMPLE`, di mana *region* adalah AWS Wilayah tempat Anda membuat pipeline dan *1234567EXAMPLE* merupakan nomor acak sepuluh digit yang memastikan nama bucket unik (misalnya,*codepipeline-us-east-2-1234567890*).

1. **Pada halaman detail untuk bucket Amazon S3, pilih Properties.**

1. Di panel properti, **perluas Izin**, lalu pilih **Tambahkan kebijakan bucket**.
**catatan**  
Jika kebijakan sudah dilampirkan ke bucket Amazon S3 Anda, pilih **Edit kebijakan bucket**. Anda kemudian dapat menambahkan pernyataan dalam contoh berikut ke kebijakan yang ada. Untuk menambahkan kebijakan baru, pilih tautan, dan ikuti petunjuk di Generator AWS Kebijakan. Untuk informasi selengkapnya, lihat [Ikhtisar Kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_overview.html). 

1. Di jendela **Bucket Policy Editor**, buat kebijakan yang memungkinkan *AccountB* akses ke artefak pipeline, dan akan memberikan *AccountB* kemampuan untuk menambahkan artefak keluaran jika suatu tindakan, seperti sumber kustom atau tindakan build, membuatnya. 

1. Pilih **Simpan**, lalu tutup editor kebijakan.

1. Pilih **Simpan** untuk menyimpan izin untuk bucket Amazon S3.

**Untuk membuat kebijakan untuk peran layanan untuk CodePipeline (konsol)**

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

1. Di panel navigasi, pilih **Peran**.

1. Dalam daftar peran, di bawah **Nama Peran**, pilih nama peran layanan untuk CodePipeline.

1. Pada tab **Izin**, pilih **Tambahkan kebijakan inline**.

1. Pilih tab **JSON**, dan masukkan kebijakan berikut *AccountB* untuk mengizinkan mengambil peran. Dalam contoh berikut, *012ID\$1ACCOUNT\$1B* adalah ARN untuk: *AccountB*

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": [
               "arn:aws:iam::111122223333:role/*"
           ]
       }
   }
   ```

------

1. Pilih **Tinjau kebijakan**. 

1. Di **Nama**, masukkan nama untuk kebijakan ini. Pilih **Buat kebijakan**.

### Konfigurasikan kebijakan dan peran di akun yang memiliki AWS resource () *AccountB*
<a name="pipelines-create-cross-account-setup-accountb"></a>

Saat membuat grup aplikasi, deployment, dan deployment CodeDeploy, Anda juga membuat peran instans [Amazon EC2](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html). (Peran ini dibuat untuk Anda jika Anda menggunakan panduan Run Deployment Walkthrough, tetapi Anda juga dapat membuatnya secara manual.) Untuk pipeline yang dibuat *AccountA* untuk menggunakan CodeDeploy sumber daya yang dibuat*AccountB*, Anda harus: 
+ Konfigurasikan kebijakan untuk peran instance yang memungkinkannya mengakses bucket Amazon S3 tempat artefak pipeline disimpan.
+ Buat peran kedua dalam *AccountB* konfigurasi untuk akses lintas akun.

  Peran kedua ini tidak hanya harus memiliki akses ke bucket Amazon S3*AccountA*, tetapi juga harus berisi kebijakan yang memungkinkan akses ke CodeDeploy sumber daya dan kebijakan hubungan kepercayaan yang memungkinkan peran CodePipeline layanan *AccountA* untuk mengambil peran tersebut.
**catatan**  
Kebijakan ini khusus untuk menyiapkan CodeDeploy sumber daya yang akan digunakan dalam pipeline yang dibuat menggunakan AWS akun yang berbeda. AWS Sumber daya lain akan memerlukan kebijakan khusus untuk kebutuhan sumber daya mereka.

**Untuk membuat kebijakan untuk peran instans Amazon EC2 yang dikonfigurasi untuk CodeDeploy (konsol)**

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

1. Di panel navigasi, pilih **Peran**.

1. Dalam daftar peran, di bawah **Nama Peran**, pilih nama peran layanan yang digunakan sebagai peran instans Amazon EC2 untuk aplikasi. CodeDeploy Nama peran ini dapat bervariasi, dan lebih dari satu peran instance dapat digunakan oleh grup penyebaran. Untuk informasi selengkapnya, lihat [Membuat Profil Instans IAM untuk Instans Amazon EC2 Anda](https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-create-iam-instance-profile.html). 

1. Pada tab **Izin**, pilih **Tambahkan kebijakan inline**.

1. Pilih tab **JSON**, dan masukkan kebijakan berikut untuk memberikan akses ke bucket Amazon S3 yang digunakan *AccountA* untuk menyimpan artefak untuk pipeline (dalam contoh ini,): *codepipeline-us-east-2-1234567890*

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:Get*"
          ],
          "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "s3:ListBucket"
          ],
          "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
          ]
        }
      ]
    }
   ```

------

1. Pilih **Tinjau kebijakan**. 

1. Di **Nama**, masukkan nama untuk kebijakan ini. Pilih **Buat kebijakan**.

1. Buat kebijakan kedua untuk AWS KMS di ***arn:aws:kms:us-east-1:012ID\$1ACCOUNT\$1A:key/2222222-3333333-4444-556677EXAMPLE*** mana ARN kunci terkelola pelanggan dibuat *AccountA* dan dikonfigurasi *AccountB* untuk memungkinkan penggunaannya:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kms:DescribeKey",
                   "kms:GenerateDataKey*",
                   "kms:Encrypt",
                   "kms:ReEncrypt*",
                   "kms:Decrypt"
               ],
               "Resource": [
                   "arn:aws:kms:us-east-1:111122223333:key/2222222-3333333-4444-556677EXAMPLE"
               ]
           }
       ]
   }
   ```

------
**penting**  
Anda harus menggunakan ID akun *AccountA* dalam kebijakan ini sebagai bagian dari sumber ARN untuk AWS KMS kunci, seperti yang ditunjukkan di sini, atau kebijakan tidak akan berfungsi.

1. Pilih **Tinjau kebijakan**. 

1. Di **Nama**, masukkan nama untuk kebijakan ini. Pilih **Buat kebijakan**.

Sekarang buat peran IAM yang akan digunakan untuk akses lintas akun, dan konfigurasikan sehingga peran CodePipeline layanan *AccountA* dapat mengambil peran tersebut. Peran ini harus berisi kebijakan yang memungkinkan akses ke CodeDeploy sumber daya dan bucket Amazon S3 yang digunakan untuk menyimpan artefak. *AccountA*

**Untuk mengonfigurasi peran lintas akun di IAM**

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

1. Di panel navigasi, pilih **Peran**. Pilih **Buat peran**.

1. Di **Pilih tipe entitas terpercaya**, pilih **Akun AWS lain**. Di bawah **Tentukan akun yang dapat menggunakan peran ini**, di **ID AWS Akun**, masukkan ID akun untuk akun yang akan membuat pipeline di CodePipeline (*AccountA*), lalu pilih **Berikutnya: Izin**.
**penting**  
Langkah ini menciptakan kebijakan hubungan kepercayaan antara *AccountB* dan*AccountA*. Namun, ini memberikan akses tingkat root ke akun, dan CodePipeline merekomendasikan untuk melingkupinya ke peran CodePipeline layanan. *AccountA* Ikuti langkah 16 untuk membatasi izin.

1. **Di bawah **Lampirkan kebijakan izin**, pilih **AmazonS3 ReadOnlyAccess**, lalu pilih Berikutnya: Tag.**
**catatan**  
Ini bukan kebijakan yang akan Anda gunakan. Anda harus memilih kebijakan untuk menyelesaikan wizard.

1. Pilih **Berikutnya: Tinjauan**. Ketik nama untuk peran ini di **Nama peran** (misalnya,*CrossAccount\$1Role*). Anda dapat memberi nama peran ini apa pun yang Anda inginkan selama mengikuti konvensi penamaan di IAM. Pertimbangkan untuk memberi peran nama yang dengan jelas menyatakan tujuannya. Pilih **Buat Peran**.

1. Dari daftar peran, pilih peran yang baru saja Anda buat (misalnya,*CrossAccount\$1Role*) untuk membuka halaman **Ringkasan** peran tersebut.

1. Pada tab **Izin**, pilih **Tambahkan kebijakan inline**. 

1. Pilih tab **JSON**, dan masukkan kebijakan berikut untuk mengizinkan akses ke CodeDeploy sumber daya:

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "codedeploy:CreateDeployment",
           "codedeploy:GetDeployment",
           "codedeploy:GetDeploymentConfig",
           "codedeploy:GetApplicationRevision",
           "codedeploy:RegisterApplicationRevision"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

1. Pilih **Tinjau kebijakan**.

1. Di **Nama**, masukkan nama untuk kebijakan ini. Pilih **Buat kebijakan**.

1. Pada tab **Izin**, pilih **Tambahkan kebijakan inline**.

1. Pilih tab **JSON**, dan masukkan kebijakan berikut untuk mengizinkan peran ini mengambil artefak masukan dari, dan memasukkan artefak keluaran ke dalam bucket Amazon S3 di: *AccountA*

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetObject*",
            "s3:PutObject",
            "s3:PutObjectAcl"               
          ],
          "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
          ]
        }
      ]
   }
   ```

------

1. Pilih **Tinjau kebijakan**.

1. Di **Nama**, masukkan nama untuk kebijakan ini. Pilih **Buat kebijakan**.

1. Pada tab **Izin**, temukan **AmazonS3 ReadOnlyAccess** dalam daftar kebijakan di bawah **Nama Kebijakan**, dan pilih ikon hapus (**X**) di sebelah kebijakan. Saat diminta, pilih **Lepaskan**.

1. Pilih tab **Trust Relationship**, lalu pilih **Edit kebijakan kepercayaan**. Pilih opsi **Tambahkan prinsipal** di kolom kiri. Untuk **tipe Principal**, pilih **IAM Roles, dan kemudian berikan ARN untuk CodePipeline peran** layanan. *AccountA* **Hapus `arn:aws:iam::Account_A:root` dari daftar untuk **AWS Prinsipal**, lalu pilih Perbarui kebijakan.**

## Langkah 2: Edit pipa
<a name="pipelines-create-cross-account-create"></a>

Anda tidak dapat menggunakan CodePipeline konsol untuk membuat atau mengedit pipeline yang menggunakan sumber daya yang terkait dengan AWS akun lain. Namun, Anda dapat menggunakan konsol untuk membuat struktur umum pipa, dan kemudian menggunakan AWS CLI untuk mengedit pipeline dan menambahkan sumber daya tersebut. Atau, Anda dapat menggunakan struktur pipa yang ada dan menambahkan sumber daya secara manual ke dalamnya. 

**Untuk menambahkan sumber daya yang terkait dengan AWS akun lain (AWS CLI)**

1. Di terminal (Linux, macOS, atau Unix) atau command prompt (Windows), jalankan **get-pipeline** perintah pada pipeline yang ingin Anda tambahkan sumber daya. Salin output perintah ke file JSON. Misalnya, untuk pipeline bernama MyFirstPipeline, Anda akan mengetik sesuatu yang mirip dengan berikut ini:

   ```
   aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json
   ```

   Output dikirim ke *pipeline.json* file.

1. Buka file JSON di editor teks biasa apa pun. Setelah `"type": "S3"` di toko artefak, tambahkan KMS EncryptionKey, ID, dan ketik informasi di mana *codepipeline-us-east-2-1234567890* nama bucket Amazon S3 yang digunakan untuk menyimpan artefak untuk pipeline dan merupakan ***arn:aws:kms:us-east-1:012ID\$1ACCOUNT\$1A:key/2222222-3333333-4444-556677EXAMPLE*** ARN dari kunci yang dikelola pelanggan yang baru saja Anda buat:

   ```
   {
     "artifactStore”: {
       "location": "codepipeline-us-east-2-1234567890", 
       "type": "S3",
       "encryptionKey": {
         "id": "arn:aws:kms:us-east-1:012ID_ACCOUNT_A:key/2222222-3333333-4444-556677EXAMPLE",
         "type": "KMS"
       }
     },
   ```

1. Tambahkan tindakan penerapan di panggung untuk menggunakan CodeDeploy sumber daya yang terkait dengannya*AccountB*, termasuk `roleArn` nilai untuk peran lintas akun yang Anda buat ()*CrossAccount\$1Role*.

   Contoh berikut menunjukkan JSON yang menambahkan tindakan deploy bernama. *ExternalDeploy* Ini menggunakan CodeDeploy sumber daya yang dibuat *AccountB* dalam tahap bernama*Staging*. Dalam contoh berikut, ARN untuk *AccountB* adalah: *012ID\$1ACCOUNT\$1B*

   ```
   ,
               {
                   "name": "Staging",
                   "actions": [
                       {
                           "inputArtifacts": [
                               {
                                   "name": "MyAppBuild"
                               }
                           ],
                           "name": "ExternalDeploy",
                           "actionTypeId": {
                               "category": "Deploy",
                               "owner": "AWS",
                               "version": "1",
                               "provider": "CodeDeploy"
                           },
                           "outputArtifacts": [],
                           "configuration": {
                               "ApplicationName": "AccountBApplicationName",
                               "DeploymentGroupName": "AccountBApplicationGroupName"
                           },
                           "runOrder": 1,
                           "roleArn": "arn:aws:iam::012ID_ACCOUNT_B:role/CrossAccount_Role"
                       }
                   ]
               }
   ```
**catatan**  
Ini bukan JSON untuk seluruh pipeline, hanya struktur untuk aksi dalam satu tahap.

1. Anda harus menghapus `metadata` baris dari file sehingga **update-pipeline** perintah dapat menggunakannya. Hapus bagian dari struktur pipa di file JSON (`"metadata": { }`garis dan`"created"`,`"pipelineARN"`, dan `"updated"` bidang).

   Misalnya, hapus baris berikut dari struktur: 

   ```
   "metadata": {  
     "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name",
     "created": "date",
     "updated": "date"
     }
   ```

   Simpan file tersebut.

1.  Untuk menerapkan perubahan Anda, jalankan **update-pipeline** perintah, tentukan file JSON pipeline, mirip dengan berikut ini:
**penting**  
Pastikan untuk menyertakan `file://` sebelum nama file. Diperlukan dalam perintah ini.

   ```
   aws codepipeline update-pipeline --cli-input-json file://pipeline.json
   ```

   Perintah ini mengembalikan seluruh struktur pipa yang diedit.

**Untuk menguji pipeline yang menggunakan sumber daya yang terkait dengan AWS akun lain**

1. Di terminal (Linux, macOS, atau Unix) atau command prompt (Windows), jalankan **start-pipeline-execution** perintah, tentukan nama pipeline, mirip dengan yang berikut ini:

   ```
   aws codepipeline start-pipeline-execution --name MyFirstPipeline
   ```

   Untuk informasi selengkapnya, lihat [Mulai pipa secara manual](pipelines-rerun-manually.md).

1. Masuk ke Konsol Manajemen AWS with *AccountA* dan buka CodePipeline konsol di [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Nama-nama semua pipeline yang terkait dengan AWS akun Anda ditampilkan.

1. Di **Nama**, pilih nama pipeline yang baru saja Anda edit. Ini membuka tampilan rinci dari pipa, termasuk keadaan setiap tindakan di setiap tahap pipa.

1. Perhatikan kemajuan melalui pipa. Tunggu pesan sukses pada tindakan yang menggunakan sumber daya yang terkait dengan AWS akun lain.
**catatan**  
Anda akan menerima kesalahan jika mencoba melihat detail tindakan saat masuk*AccountA*. Keluar, lalu masuk *AccountB* untuk melihat detail penerapan. CodeDeploy 