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 penyaringan di pipeline 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.
Topik
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.
Anda dapat menggabungkan filter dalam satu objek konfigurasi, dan filter ini akan menggunakan AND operasi, yang berarti hanya kecocokan penuh yang akan memulai pipeline. Contoh berikut menunjukkan konfigurasi Git dengan dua filter yang berbeda (filePaths
danbranches
) dalam “objek konfigurasi” dan bukan satu filter. Dalam contoh berikut, filePaths
akan AND 'ed denganbranches
:
{ "filePaths": { "includes": ["common/**/*.js"] }, "branches": { "includes": ["feature/**"] } }
Dengan konfigurasi Git di atas, contoh ini menunjukkan peristiwa yang akan memulai eksekusi pipeline karena AND operasi 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. Contoh berikut menunjukkan konfigurasi Git dengan filter tunggal (branches
) dalam objek konfigurasi. Excludes
Operasi Includes
dan akan atau 'ed, artinya jika cabang cocok dengan pola pengecualian (seperti feature-branch
dalam contoh), pipeline tidak akan dipicu kecuali include juga cocok. Jika pola include cocok, seperti untuk main
cabang, maka pipeline akan dipicu.
{ "branches": { "Includes": [ "main" ], "Excludes": [ "feature-branch" ] }
Untuk daftar definisi bidang dalam JSON struktur, lihatPemicu penyaringan di pipeline JSON () CLI.