Filter pemicu pada permintaan push atau pull kode - AWS CodePipeline

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

Filter pemicu pada permintaan push atau pull kode

Anda dapat mengonfigurasi filter untuk pemicu pipeline agar eksekusi pipeline dimulai untuk berbagai peristiwa Git, seperti push tag atau cabang, perubahan pada jalur file tertentu, permintaan tarik dibuka ke cabang tertentu, dan sebagainya. Anda dapat menggunakan AWS CodePipeline konsol atau update-pipeline perintah create-pipeline dan di AWS CLI untuk mengonfigurasi filter pemicu.

Anda dapat menentukan filter untuk jenis pemicu berikut:

  • Dorong

    Pemicu push memulai pipeline saat perubahan didorong ke repositori sumber Anda. Eksekusi akan menggunakan komit dari cabang yang Anda dorong (yaitu, cabang tujuan). Anda dapat memfilter pemicu push pada cabang, jalur file, atau tag Git.

  • Permintaan tarik

    Pemicu permintaan tarik memulai pipeline saat permintaan tarik dibuka, diperbarui, atau ditutup di repositori sumber Anda. Eksekusi akan menggunakan komit dari cabang sumber yang Anda tarik (yaitu, cabang sumber). Anda dapat memfilter pemicu permintaan tarik pada cabang dan jalur file.

    catatan

    Jenis acara yang didukung untuk permintaan tarik dibuka, diperbarui, atau ditutup (digabungkan). Semua peristiwa permintaan tarik lainnya diabaikan.

Definisi pipeline memungkinkan Anda untuk menggabungkan filter yang berbeda dalam konfigurasi pemicu push yang sama. Untuk detail tentang definisi pipeline, lihatPemicu pemfilteran di pipa JSON (CLI). Kombinasi yang valid adalah:

  • tag

  • bercabang

  • cabang+jalur file

Anda menentukan jenis filter sebagai berikut:

  • Tidak ada filter

    Konfigurasi pemicu ini memulai pipeline Anda pada setiap push ke cabang default yang ditentukan sebagai bagian dari konfigurasi tindakan.

  • Tentukan filter

    Anda menambahkan filter yang memulai pipeline Anda pada filter tertentu, seperti pada nama cabang untuk push kode, dan mengambil komit yang tepat. Ini juga mengonfigurasi pipeline untuk tidak memulai secara otomatis pada perubahan apa pun.

  • Jangan mendeteksi perubahan

    Ini tidak menambahkan pemicu dan pipa tidak dimulai secara otomatis pada perubahan apa pun.

Tabel berikut menyediakan opsi filter yang valid untuk setiap jenis acara. Tabel juga menunjukkan konfigurasi pemicu mana yang default ke true atau false untuk deteksi perubahan otomatis dalam konfigurasi tindakan.

Konfigurasi pemicu Jenis peristiwa Opsi filter Mendeteksi perubahan
Tambahkan pemicu - tanpa filter none none true
Tambahkan pemicu — filter pada push kode acara push Git tag, cabang, jalur file false
Tambahkan pemicu — filter untuk permintaan tarik permintaan tarik cabang, jalur file false
Tidak ada pemicu - jangan mendeteksi none none false
catatan

Jenis pemicu ini menggunakan deteksi perubahan otomatis (sebagai tipe Webhook pemicu). Penyedia tindakan sumber yang menggunakan tipe pemicu ini adalah koneksi yang dikonfigurasi untuk push kode (Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab .com, dan GitLab dikelola sendiri).

Untuk pemfilteran, pola ekspresi reguler dalam format glob didukung seperti yang dijelaskan dalam. Bekerja dengan pola glob dalam sintaks

catatan

Dalam kasus tertentu, untuk pipeline dengan pemicu yang difilter pada jalur file, pipeline mungkin tidak dimulai saat cabang dengan filter jalur file pertama kali dibuat. Untuk informasi selengkapnya, lihat Saluran pipa dengan koneksi yang menggunakan pemfilteran pemicu berdasarkan jalur file mungkin tidak dimulai pada pembuatan cabang.

Pertimbangan untuk filter pemicu

Pertimbangan berikut berlaku saat menggunakan pemicu.

  • Untuk pemicu dengan filter cabang dan jalur file, saat mendorong cabang untuk pertama kalinya, pipeline tidak akan berjalan karena tidak ada akses ke daftar file yang diubah untuk cabang yang baru dibuat.

  • Menggabungkan permintaan tarik dapat memicu dua eksekusi pipeline, dalam kasus di mana push (branch filter) dan pull request (branch filter) memicu konfigurasi berpotongan.

Contoh untuk filter pemicu

Untuk konfigurasi Git dengan filter untuk jenis peristiwa permintaan push dan pull, filter yang ditentukan mungkin bertentangan satu sama lain. Berikut ini adalah contoh kombinasi filter yang valid untuk acara permintaan push dan pull.

Ketika pelanggan menggabungkan filter dalam objek konfigurasi tunggal, filter ini akan menggunakan operasi AND, yang berarti hanya kecocokan penuh yang akan memulai pipeline. Contoh berikut menunjukkan konfigurasi Git:

{ "filePaths": { "includes": ["common/**/*.js"] }, "branches": { "includes": ["feature/**"] } }

Dengan konfigurasi Git di atas, contoh ini menunjukkan peristiwa yang akan memulai eksekusi pipeline karena operasi AND berhasil.

{ "ref": "refs/heads/feature/triggers", ... "commits": [ { ... "modified": [ "common/app.js" ] ... } ] }

Contoh ini menunjukkan peristiwa yang tidak akan memulai eksekusi pipeline karena cabang dapat memfilter, tetapi jalur file tidak.

{ "ref": "refs/heads/feature/triggers", ... "commits": [ { ... "modified": [ "src/Main.java" ] ... } ] }

Pada saat yang sama, memicu objek konfigurasi dalam array push menggunakan operasi OR. Ini memungkinkan Anda mengonfigurasi beberapa pemicu untuk memulai eksekusi untuk pipeline yang sama. Untuk daftar definisi bidang dalam struktur JSON, lihatPemicu pemfilteran di pipa JSON (CLI).