Tutorial: Membuat pipeline yang membangun dan menguji aplikasi Android Anda AWS Device Farm - AWS CodePipeline

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

Tutorial: Membuat pipeline yang membangun dan menguji aplikasi Android Anda AWS Device Farm

Anda dapat menggunakannya AWS CodePipeline untuk mengonfigurasi alur integrasi berkelanjutan di mana aplikasi Anda dibuat dan diuji setiap kali komit didorong. Tutorial ini menunjukkan cara membuat dan mengonfigurasi pipeline untuk membangun dan menguji aplikasi Android Anda dengan kode sumber di GitHub repositori. Pipeline mendeteksi kedatangan GitHub komit baru dan kemudian digunakan CodeBuilduntuk membangun aplikasi dan Device Farm untuk mengujinya.

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

Anda dapat mencobanya menggunakan aplikasi Android dan definisi pengujian yang ada, atau Anda dapat menggunakan aplikasi sampel dan definisi pengujian yang disediakan oleh Device Farm.

catatan

Sebelum Anda memulai

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

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

  3. 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 setelahnyaprojects/. Dalam contoh ini, ID proyek adalaheec4905f-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

  1. Tambahkan dan komit file yang dipanggil buildspec.ymldi root kode aplikasi Anda, dan dorong ke repositori Anda. CodeBuild menggunakan file ini untuk menjalankan perintah dan mengakses artefak yang diperlukan untuk membangun aplikasi Anda.

    version: 0.2 phases: build: commands: - chmod +x ./gradlew - ./gradlew assembleDebug artifacts: files: - './android/app/build/outputs/**/*.apk' discard-paths: yes
  2. (Opsional) Jika Anda menggunakan Calabash atau Appium untuk menguji aplikasi Anda, tambahkan file definisi pengujian ke repositori Anda. Pada langkah selanjutnya, Anda dapat mengonfigurasi Device Farm untuk menggunakan definisi untuk menjalankan rangkaian pengujian Anda.

    Jika Anda menggunakan pengujian bawaan Device Farm, Anda dapat melewati langkah ini.

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

    1. Masuk ke AWS Management Console dan buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/.

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

    3. Dalam tipe Pipeline, pilih V1 untuk keperluan tutorial ini. Anda juga dapat memilih V2; Namun, perhatikan bahwa jenis pipa berbeda dalam karakteristik dan harga. Untuk informasi selengkapnya, lihat Jenis pipa.

    4. 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 perlu 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.

      { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "*" }
    5. Biarkan pengaturan di bawah Pengaturan lanjutan pada defaultnya, lalu pilih Berikutnya.

    6. Pada Langkah 2: Tambahkan halaman tahap sumber, di penyedia Sumber, pilih GitHub.

    7. Di bawah Koneksi, pilih koneksi yang ada atau buat yang baru. Untuk membuat atau mengelola koneksi untuk tindakan GitHub sumber Anda, lihatGitHub koneksi.

    8. Di Repositori, pilih repositori sumber.

    9. Di Branch, pilih cabang yang ingin Anda gunakan.

    10. Biarkan default yang tersisa untuk tindakan sumber. Pilih Selanjutnya.

  4. Di Tambahkan tahap membangun, tambahkan sebuah tahap membangun:

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

    2. Pilih Buat proyek.

    3. Di Nama proyek, masukkan nama untuk proyek pembangunan ini.

    4. Di Citra lingkungan, pilih Citra terkelola. Untuk Sistem operasi, pilih Ubuntu.

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

      CodeBuild menggunakan image OS ini, yang telah menginstal Android Studio, untuk membangun aplikasi Anda.

    6. Untuk peran Layanan, pilih peran CodeBuild layanan yang ada atau buat yang baru.

    7. Untuk spesifikasi Build, pilih Gunakan file buildspec.

    8. Pilih Lanjutkan ke CodePipeline. Ini kembali ke CodePipeline konsol dan membuat CodeBuild proyek yang menggunakan buildspec.yml di repositori Anda untuk konfigurasi. Proyek build menggunakan peran layanan untuk mengelola Layanan AWS izin. Langkah ini mungkin memakan waktu beberapa menit.

    9. Pilih Selanjutnya.

  5. Pada halaman Langkah 4: Tambahkan tahap men-deploy, pilih Lewati tahap men-deploy, dan kemudian terima pesan peringatan dengan memilih Lewati lagi. Pilih Selanjutnya.

  6. Pada Langkah 5: Tinjauan, pilih Buat alur. Anda akan melihat diagram yang menunjukkan sumber dan tahap build.

  7. Tambahkan tindakan pengujian Device Farm ke pipeline Anda:

    1. Di kanan atas, pilih Edit.

    2. Di bagian bawah diagram, pilih + Tambahkan tahap. Dalam nama Panggung, masukkan nama, sepertiTest.

    3. Pilih + Tambahkan grup tindakan.

    4. Di Nama tindakan, masukkan nama.

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

    6. Dalam artefak Input, pilih artefak input yang cocok dengan artefak keluaran dari tahap yang datang sebelum tahap pengujian, seperti. BuildArtifact

      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.

    7. Masuk ProjectId, masukkan ID proyek Device Farm Anda. Gunakan langkah-langkah di awal tutorial ini untuk mengambil ID proyek Anda.

    8. Masuk DevicePoolArn, masukkan ARN untuk kumpulan perangkat. Untuk mendapatkan ARN kumpulan perangkat yang tersedia 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
    9. Masuk AppType, masukkan Android.

      Berikut ini adalah daftar nilai yang valid untuk AppType:

      • iOS

      • Android

      • Web

    10. Di App, masukkan jalur paket aplikasi yang dikompilasi. Jalur relatif terhadap akar artefak input untuk tahap pengujian. Biasanya, jalur ini mirip denganapp-release.apk.

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

      Berikut ini adalah daftar nilai yang valid untuk TestType:

      • APPIUM_JAVA_JUNIT

      • APPIUM_JAVA_TESTNG

      • APPIUM_NODE

      • APPIUM_RUBY

      • APPIUM_PYTHON

      • APPIUM_WEB_JAVA_JUNIT

      • APPIUM_WEB_JAVA_TESTNG

      • APPIUM_WEB_NODE

      • APPIUM_WEB_RUBY

      • APPIUM_WEB_PYTHON

      • BUILTIN_FUZZ

      • INSTRUMENTASI

      • XCTEST

      • XCTEST_UI

      catatan

      Node lingkungan khusus tidak didukung.

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

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

    14. Pilih Simpan.

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

    16. Untuk mengirimkan perubahan dan memulai pembuatan pipeline, pilih Rilis perubahan, lalu pilih Rilis.