Tutorial: Buat pipeline yang membuat dan menguji aplikasi Android AndaAWS 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: Buat pipeline yang membuat dan menguji aplikasi Android AndaAWS Device Farm

Anda dapat menggunakanAWS CodePipelineuntuk mengonfigurasi alur integrasi berkelanjutan tempat aplikasi Anda dibuat dan diuji setiap kali komit didorong. Tutorial ini menunjukkan cara membuat dan mengkonfigurasi pipeline untuk membangun dan menguji aplikasi Android Anda dengan kode sumber di GitHub repositori. Pipa mendeteksi kedatangan yang baru GitHub komit dan kemudian menggunakanCodeBuilduntuk membangun aplikasi danDevice Farmuntuk mengujinya.

penting

Banyak tindakan yang Anda tambahkan ke pipeline Anda dalam prosedur ini melibatkanAWSsumber daya yang Anda butuhkan untuk membuat sebelum Anda membuat pipeline.AWSsumber daya untuk tindakan sumber Anda harus selalu dibuat dalam hal yang samaAWSWilayah di mana Anda membuat pipa Anda. Misalnya, jika Anda membuat pipeline di Wilayah US East (Ohio), Anda CodeCommit repositori harus berada di Wilayah Timur AS (Ohio).

Anda dapat menambahkan tindakan lintas wilayah saat membuat pipeline.AWSsumber daya untuk tindakan lintas wilayah harus samaAWSWilayah di mana Anda berencana untuk mengeksekusi tindakan. Untuk informasi selengkapnya, lihat Tambahkan aksi lintas Wilayah di CodePipeline.

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

catatan

Sebelum Anda memulai

  1. Masuk keAWS Device Farmkonsol dan pilihMembuat 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 Alur Anda CodePipeline.

    Berikut ini adalah contoh URL untuk 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

Konfigurasi CodePipeline untuk menggunakan pengujian Device Farm

  1. Tambahkan dan komit sebuah file bernamabuildspec.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 Andamenggunakan Calabash atau Appium untuk menguji aplikasi, tambahkan file definisi uji 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 Anda dan menambahkan tahap sumber, lakukan hal berikut:

    1. Masuk keAWS Management Consoledan membuka CodePipeline konsol dihttps://console.aws.amazon.com/codepipeline/.

    2. Pilih PilihMembuat Alur. Di Langkah 1: Pilih pengaturan pipapage, diNama Alur, masukkan nama untuk Alur Anda.

    3. MasukPeran layanantinggalkanPeran layanan barudipilih, dan meninggalkanNama perantidak berubah. Anda juga dapat memilih untuk menggunakan peran layanan yang ada, jika Anda memilikinya.

      catatan

      Jika Anda menggunakan CodePipeline peran layanan yang dibuat sebelum Juli 2018, Anda perlu menambahkan izin untuk Device Farm. Untuk melakukannya, buka konsol IAM, temukan perannya, lalu tambahkan izin berikut ke kebijakan peran. Untuk informasi selengkapnya, lihat Tambahkan izin ke CodePipelineperan layanan.

      { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "*" }
    4. Biarkan pengaturan di bawahPengaturan lanjutandi default mereka, dan kemudian pilihSelanjutnya.

    5. Di Langkah 2: Menambahkan tahap sumberpage, diPenyedia sumber, pilihGitHub.

    6. Di bawahKoneksi, pilih koneksi yang ada atau buat yang baru. Untuk membuat atau mengelola koneksi GitHub aksi sumber, lihatGitHub hubungan.

    7. MasukRepositori, pilih repositori sumber.

    8. MasukCabangPilih cabang yang ingin Anda gunakan.

    9. Biarkan default yang tersisa untuk aksi 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. UntukCitra, pilihaws/codebuild/standar: 1.0.

      CodeBuild menggunakan image OS ini, yang memiliki Android Studio diinstal, untuk membangun aplikasi Anda.

    6. UntukPeran layanan, pilih yang ada CodeBuild peran layanan atau membuat peran layanan baru.

    7. UntukMembangun spesifikasi, pilihMenggunakan file buildspec.

    8. Pilih PilihLanjutkan ke CodePipeline. Ini kembali ke CodePipelinekonsol dan menciptakan CodeBuild proyek yang menggunakanbuildspec.ymldi repositori Anda untuk konfigurasi. Proyek pembangunan menggunakan peran layanan untuk mengelolaAWSIzin layanan. Langkah ini mungkin memakan waktu beberapa menit.

    9. Pilih Selanjutnya.

  5. PadaLangkah 4: Menambahkan tahap penyebaranhalaman, pilihLewati tahap penyebaran, dan kemudian menerima pesan peringatan dengan memilihLewatilagi. Pilih Selanjutnya.

  6. PadaLangkah 5: Ulasan, pilihMembuat Alur. Anda akan melihat diagram yang menunjukkan sumber dan membangun tahap.

  7. Tambahkan tindakan pengujian Device Farm ke pipeline Anda:

    1. Di kanan atas, pilihedit.

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

    3. Pilih Pilih+ Tambahkan grup aksi.

    4. MasukNama tindakan, masukkan nama.

    5. MasukPenyedia tindakan, pilihAWSDevice Farm. Izinkan Wilayah ke default ke Wilayah alur.

    6. Masukartefak masukan, pilih artefak input yang cocok dengan artefak keluaran dari tahap yang datang sebelum tahap pengujian, sepertiBuildArtifact.

      DiAWS CodePipelinekonsol, Anda dapat menemukan nama artefak keluaran untuk setiap tahap dengan mengarahkan kursor ke ikon informasi dalam diagram pipa. Jika pipeline Anda menguji aplikasi Anda langsung dariSumbertahap, pilihSourceArtifact. Jika pipa termasukMembanguntahap, pilihBuildArtifact.

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

    8. MasukDevicePoolArn, masukkan ARN untuk kolam perangkat. Untuk mendapatkan ARN pool perangkat yang tersedia untuk proyek, termasuk ARN untuk Perangkat Teratas, gunakanAWSCLI untuk memasukkan perintah berikut:

      aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
    9. MasukAppType, masukkanAndroid.

      Berikut ini adalah daftar nilai yang valid untukAppType:

      • iOS

      • Android

      • Web

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

    11. MasukTestType, masukkan jenis tes Anda, dan kemudian masukTEST, masukkan jalur file definisi pengujian. Jalurnya relatif terhadap akar artefak input untuk pengujian Anda.

      Berikut ini adalah daftar nilai yang valid untukTestType:

      • APPIUM_JAVA_JUNIT

      • APPIUM_JAVA_TESTNG

      • APPIUM_PYTHON

      • APPIUM_WEB_JAVA_JUNIT

      • APPIUM_WEB_JAVA_TESTNG

      • APPIUM_WEB_PYTHON

      • BUILTIN_EXPLORER

      • BUILTIN_FUZZ

      • CALABASH

      • INSTRUMENTASI

      • UIAUTOMASI

      • UIAUTOMATOR

      • WEB_PERFORMANCE_PROFILE

      • XCTEST

      • XCTEST_UI

      catatan

      Node lingkungan kustom tidak didukung.

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

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

    14. Pilih Save (Simpan).

    15. Di atas panggung yang sedang Anda edit, pilihSelesai. DiAWS CodePipelinepanel, pilihSimpan, dan kemudian pilihSimpanpada pesan peringatan.

    16. Untuk mengirimkan perubahan Anda dan memulai pembuatan pipeline, pilihRilis perubahan, dan kemudian pilihRilis.