

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

# Tutorial: Buat pipeline yang menguji aplikasi iOS Anda AWS Device Farm
<a name="tutorials-codebuild-devicefarm-S3"></a>

 Anda dapat menggunakannya AWS CodePipeline untuk dengan mudah mengonfigurasi alur integrasi berkelanjutan di mana aplikasi Anda diuji setiap kali bucket sumber berubah. Tutorial ini menunjukkan cara membuat dan mengonfigurasi pipeline untuk menguji aplikasi iOS bawaan Anda dari bucket S3. Pipeline mendeteksi kedatangan perubahan yang disimpan melalui Amazon CloudWatch Events, dan kemudian menggunakan [Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) untuk menguji aplikasi yang dibuat. 

**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.

**penting**  
Banyak tindakan yang Anda tambahkan ke pipeline dalam prosedur ini melibatkan AWS sumber daya yang perlu Anda buat sebelum membuat pipeline. AWS sumber daya untuk tindakan sumber Anda harus selalu dibuat di AWS Wilayah yang sama tempat Anda membuat pipeline. Misalnya, jika Anda membuat pipeline di Wilayah AS Timur (Ohio), CodeCommit repositori Anda harus berada di Wilayah AS Timur (Ohio).   
Anda dapat menambahkan tindakan lintas wilayah saat membuat pipeline. AWS sumber daya untuk tindakan lintas wilayah harus berada di AWS Wilayah yang sama di mana Anda berencana untuk menjalankan tindakan. Untuk informasi selengkapnya, lihat [Menambahkan tindakan Lintas wilayah di CodePipeline](actions-create-cross-region.md).

Anda dapat mencobanya menggunakan aplikasi iOS yang ada, atau Anda dapat menggunakan [contoh aplikasi iOS](samples/s3-ios-test-1.zip).

**Sebelum Anda memulai**

1. Masuk ke AWS Device Farm konsol dan pilih **Buat proyek baru**.

1. Pilih proyek Anda. Di browser, salin URL proyek baru Anda. URL berisi ID proyek.

1. Salin dan simpan ID proyek ini. Anda menggunakannya saat Anda membuat pipeline di CodePipeline.

   Berikut adalah contoh URL untuk sebuah proyek. Untuk mengekstrak ID proyek, salin nilainya setelahnya`projects/`. Dalam contoh ini, ID proyek adalah`eec4905f-98f8-40aa-9afc-4c1cfexample`.

   ```
   https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
   ```

## Konfigurasikan CodePipeline untuk menggunakan pengujian Device Farm Anda (contoh Amazon S3)
<a name="codepipeline-configure-tests-S3"></a>

1. Buat atau gunakan bucket S3 dengan versi diaktifkan. Ikuti instruksi [Langkah 1: Buat bucket sumber S3 untuk aplikasi Anda](tutorials-simple-s3.md#s3-create-s3-bucket) untuk membuat ember S3.

1. Di konsol Amazon S3 untuk bucket Anda, pilih **Unggah**, dan ikuti petunjuk untuk mengunggah file.zip Anda.

   Contoh aplikasi Anda harus dikemas dalam file.zip.

1. Untuk membuat pipeline dan menambahkan tahap sumber, lakukan hal berikut:

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

   1. Pada halaman **Selamat Datang**, halaman **Memulai**, atau halaman **Pipelines**, pilih **Buat pipeline**.

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

   1. Pada **Langkah 2: Pilih halaman pengaturan pipeline**, dalam **nama Pipeline**, masukkan nama untuk pipeline Anda.

   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**, biarkan **peran layanan baru** dipilih, dan biarkan **nama Peran** tidak berubah. Anda juga dapat memilih untuk menggunakan peran layanan yang ada, jika Anda memilikinya.
**catatan**  
Jika Anda menggunakan peran CodePipeline layanan yang dibuat sebelum Juli 2018, Anda harus menambahkan izin untuk Device Farm. Untuk melakukannya, buka konsol IAM, temukan peran, lalu tambahkan izin berikut ke kebijakan peran. Untuk informasi selengkapnya, lihat [Menambahkan izin ke peran CodePipeline layanan](how-to-custom-role.md#how-to-update-role-new-services).  

      ```
      {
           "Effect": "Allow",
           "Action": [
              "devicefarm:ListProjects",
              "devicefarm:ListDevicePools",
              "devicefarm:GetRun",
              "devicefarm:GetUpload",
              "devicefarm:CreateUpload",
              "devicefarm:ScheduleRun"
           ],
           "Resource": "*"
      }
      ```

   1. **Biarkan pengaturan di bawah **Pengaturan lanjutan** pada defaultnya, lalu pilih Berikutnya.**

   1. Pada **Langkah 3: Tambahkan halaman tahap sumber**, di **penyedia Sumber**, pilih **Amazon S3**.

   1. Di **lokasi Amazon S3**, masukkan bucket, seperti, dan kunci objek`my-storage-bucket`, seperti `s3-ios-test-1.zip` untuk file.zip Anda.

   1. Pilih **Berikutnya**.

1. Pada **Langkah 4: Tambahkan tahap build**, buat tahap build placeholder untuk pipeline Anda. Ini memungkinkan Anda untuk membuat pipeline di wizard. Setelah Anda menggunakan wizard untuk membuat pipeline dua tahap, Anda tidak lagi memerlukan tahap pembuatan placeholder ini. Setelah pipeline selesai, tahap kedua ini dihapus dan tahap pengujian baru ditambahkan pada langkah 5.

   

   1. Di **penyedia Build**, pilih **Add Jenkins**. Pilihan build ini adalah placeholder. Atribut ini tidak digunakan.

   1. Di **nama Penyedia**, masukkan nama. Namanya adalah placeholder. Atribut ini tidak digunakan.

   1. Di **URL Server**, masukkan teks. Teks adalah placeholder. Atribut ini tidak digunakan.

   1. Dalam **nama Proyek**, masukkan nama. Namanya adalah placeholder. Atribut ini tidak digunakan.

   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.

   1. Pada **Langkah 7: Tinjau**, pilih **Buat pipeline**. Anda akan melihat diagram yang menunjukkan sumber dan tahap build.  
![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/codepipeline-view-pipeline-S3.png)

1. Tambahkan tindakan pengujian Device Farm ke pipeline Anda sebagai berikut:

   1. Di kanan atas, pilih **Edit**. 

   1. Pilih **Edit tahap**. Pilih **Hapus**. Ini menghapus tahap placeholder sekarang karena Anda tidak lagi membutuhkannya untuk pembuatan pipeline.

   1. Di bagian bawah diagram, pilih **\$1 Tambahkan tahap**.

   1. Dalam nama Stage, masukkan nama untuk panggung, seperti Test, dan kemudian pilih **Add stage**.

   1. Pilih **\$1 Tambahkan grup tindakan**.

   1. Dalam **nama Action**, masukkan nama, seperti DeviceFarmTest.

   1. Di **penyedia Action**, pilih **AWS Device Farm**. Izinkan **Wilayah** ke default ke Wilayah alur.

   1. Dalam **artefak Input**, pilih artefak input yang cocok dengan artefak keluaran dari tahap yang datang sebelum tahap pengujian, seperti. `SourceArtifact` 

      Di AWS CodePipeline konsol, Anda dapat menemukan nama artefak keluaran untuk setiap tahap dengan mengarahkan kursor ke ikon informasi di diagram pipa. Jika pipeline menguji aplikasi langsung dari tahap **Sumber**, pilih **SourceArtifact**. Jika pipeline menyertakan tahap **Build**, pilih **BuildArtifact**.

   1. Di **ProjectId**, pilih ID proyek Device Farm Anda. Gunakan langkah-langkah di awal tutorial ini untuk mengambil ID proyek Anda.

   1. Masuk **DevicePoolArn**, masukkan ARN untuk kumpulan perangkat. Untuk mendapatkan kumpulan perangkat yang tersedia ARNs untuk proyek, termasuk ARN untuk Perangkat Teratas, gunakan AWS CLI untuk memasukkan perintah berikut: 

      ```
      aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
      ```

   1. Masuk **AppType**, masukkan **iOS**.

      Berikut ini adalah daftar nilai yang valid untuk **AppType**:
      + **iOS**
      + **Android**
      + **Web**

   1. Di **App**, masukkan jalur paket aplikasi yang dikompilasi. Jalur relatif terhadap akar artefak input untuk tahap pengujian. Biasanya, jalur ini mirip dengan`ios-test.ipa`.

   1. Masuk **TestType**, masukkan jenis pengujian Anda, lalu di **Uji**, masukkan jalur file definisi pengujian. Jalur relatif terhadap akar artefak input untuk pengujian Anda.

      Jika Anda menggunakan salah satu pengujian Device Farm bawaan, masukkan jenis pengujian yang dikonfigurasi dalam proyek Device Farm Anda, seperti BUILTIN\$1FUZZ. Masuk **FuzzEventCount**, masukkan waktu dalam milidetik, seperti 6000. Masuk **FuzzEventThrottle**, masukkan waktu dalam milidetik, seperti 50.

      Jika Anda tidak menggunakan salah satu pengujian Device Farm bawaan, masukkan jenis pengujian, lalu di **Test**, masukkan path file definisi pengujian. Jalur relatif terhadap akar artefak input untuk pengujian Anda. 

      Berikut ini adalah daftar nilai yang valid untuk **TestType**:
      + **APPIUM\$1JAVA\$1JUNIT**
      + **APPIUM\$1JAVA\$1TESTNG**
      + **APPIUM\$1NODE**
      + **APPIUM\$1RUBY**
      + **APPIUM\$1PYTHON**
      + **APPIUM\$1WEB\$1JAVA\$1JUNIT**
      + **APPIUM\$1WEB\$1JAVA\$1TESTNG**
      + **APPIUM\$1WEB\$1NODE**
      + **APPIUM\$1WEB\$1RUBY**
      + **APPIUM\$1WEB\$1PYTHON**
      + **BUILTIN\$1FUZZ**
      + **INSTRUMENTASI**
      + **XCTEST**
      + **XCTEST\$1UI**
**catatan**  
Node lingkungan khusus tidak didukung.

   1. Di bidang yang tersisa, berikan konfigurasi yang sesuai untuk pengujian dan jenis aplikasi Anda.

   1. (Opsional) Di **Advanced**, berikan informasi konfigurasi untuk uji coba Anda.

   1. Pilih **Simpan**.

   1. Di panggung yang Anda edit, pilih **Selesai**. Di AWS CodePipeline panel, pilih **Simpan**, lalu pilih **Simpan** pada pesan peringatan.

   1. Untuk mengirimkan perubahan dan memulai eksekusi pipeline, pilih **Rilis perubahan**, lalu pilih **Rilis**.