View a markdown version of this page

Tambahkan pemicu dengan jenis acara push atau pull request kode - AWS CodePipeline

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

Tambahkan pemicu dengan jenis acara push atau pull request kode

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

catatan

Bidang konfigurasi BranchName tindakan mendefinisikan satu cabang, sementara pemicu dengan filter dapat digunakan untuk cabang atau cabang apa pun yang Anda tentukan. Untuk pipeline di mana pemicu digunakan untuk memfilter cabang dengan permintaan push atau pull, pipeline tidak akan menggunakan cabang BranchName bidang default dalam konfigurasi tindakan. Namun, cabang di BranchName bidang dalam konfigurasi tindakan adalah default ketika pipeline dimulai secara manual. Sebagai contoh, lihat 5: Pemicu dikonfigurasi sementara konfigurasi tindakan default BranchName digunakan untuk memulai manual.

Anda dapat menentukan filter untuk jenis pemicu berikut:

  • Dorong

    Pemicu push memulai pipeline ketika 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 pull request 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.

    Jenis acara yang didukung untuk permintaan tarik adalah sebagai berikut. Semua peristiwa pull request lainnya diabaikan.

    • Dibuka

    • Diperbarui

    • Ditutup (digabungkan)

    catatan

    Perilaku peristiwa permintaan tarik tertentu dapat berbeda menurut penyedia. Lihat perinciannya di Peristiwa permintaan tarik untuk pemicu oleh penyedia.

Definisi pipeline memungkinkan Anda untuk menggabungkan filter yang berbeda dalam konfigurasi push trigger yang sama. Untuk detail tentang definisi pipeline, lihatTambahkan filter untuk jenis acara permintaan push dan pull (CLI). Untuk daftar definisi bidang, lihat pemicu dalam referensi struktur pipa dalam panduan ini.

Tambahkan filter untuk jenis acara permintaan push dan pull (konsol)

Anda dapat menggunakan konsol untuk menambahkan filter untuk acara push dan menyertakan atau mengecualikan cabang atau jalur file.

Tambahkan filter (konsol)
  1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home.

    Nama dan status semua pipeline yang terkait dengan AWS akun Anda ditampilkan.

  2. Di Nama, pilih nama pipeline yang ingin Anda edit. Jika tidak, gunakan langkah-langkah ini pada wizard pembuatan pipeline.

  3. Pada halaman detail pipeline, pilih Edit.

  4. Pada halaman Edit, pilih tindakan sumber yang ingin Anda edit. Pilih Edit pemicu. Pilih Tentukan filter.

  5. Di Jenis acara, pilih Dor ong dari opsi berikut.

    • Pilih Push untuk memulai pipeline saat perubahan didorong ke repositori sumber Anda. Memilih ini memungkinkan bidang untuk menentukan filter untuk cabang dan jalur file atau tag Git.

    • Pilih Permintaan tarik untuk memulai pipeline saat permintaan tarik dibuka, diperbarui, atau ditutup di repositori sumber Anda. Memilih ini memungkinkan bidang untuk menentukan filter untuk cabang tujuan dan jalur file.

  6. Di bawah Push, di Jenis Filter, pilih salah satu opsi berikut.

    • Pilih Cab ang untuk menentukan cabang di repositori sumber Anda yang dipantau pemicu untuk mengetahui kapan memulai menjalankan alur kerja. Di Sertakan, masukkan pola untuk nama cabang dalam format glob yang ingin Anda tentukan untuk konfigurasi pemicu untuk memulai pipeline Anda pada perubahan pada cabang yang ditentukan. Di Kecualikan, masukkan pola regex untuk nama cabang dalam format glob yang ingin Anda tentukan agar konfigurasi pemicu diabaikan dan tidak memulai pipeline Anda pada perubahan pada cabang yang ditentukan. Untuk informasi selengkapnya, lihat Bekerja dengan pola glob dalam sintaks.

      catatan

      Jika termasuk dan mengecualikan keduanya memiliki pola yang sama, maka defaultnya adalah mengecualikan pola.

      Anda dapat menggunakan pola glob untuk menentukan nama cabang Anda. Misalnya, gunakan main* untuk mencocokkan semua cabang yang dimulai denganmain. Untuk informasi selengkapnya, lihat Bekerja dengan pola glob dalam sintaks.

      Untuk pemicu push, tentukan cabang yang Anda dorong, yaitu cabang tujuan. Untuk pemicu permintaan tarik, tentukan cabang tujuan tempat Anda membuka permintaan tarik.

    • (Opsional) Di bawah Jalur file, tentukan jalur file untuk pemicu Anda. Masukkan nama di Ser takan dan K ecualikan yang sesuai.

      Anda dapat menggunakan pola glob untuk menentukan nama jalur file Anda. Misalnya, gunakan prod* untuk mencocokkan semua jalur file yang dimulai denganprod. Untuk informasi selengkapnya, lihat Bekerja dengan pola glob dalam sintaks.

    • Pilih Tag untuk mengonfigurasi konfigurasi pemicu pipeline untuk memulai dengan tag Git. Di Sertakan, masukkan pola untuk nama tag dalam format glob yang ingin Anda tentukan untuk konfigurasi pemicu untuk memulai pipeline Anda saat merilis tag atau tag yang ditentukan. Di Kecualikan, masukkan pola regex untuk nama tag dalam format glob yang ingin Anda tentukan agar konfigurasi pemicu diabaikan dan tidak memulai pipeline Anda saat merilis tag atau tag yang ditentukan. Jika termasuk dan mengecualikan keduanya memiliki pola tag yang sama, maka defaultnya adalah mengecualikan pola tag.

  7. Di bawah Push, di Jenis Filter, pilih salah satu opsi berikut.

    • Pilih Cab ang untuk menentukan cabang di repositori sumber Anda yang dipantau pemicu untuk mengetahui kapan memulai menjalankan alur kerja. Di Sertakan, masukkan pola untuk nama cabang dalam format glob yang ingin Anda tentukan untuk konfigurasi pemicu untuk memulai pipeline Anda pada perubahan pada cabang yang ditentukan. Di Kecualikan, masukkan pola regex untuk nama cabang dalam format glob yang ingin Anda tentukan agar konfigurasi pemicu diabaikan dan tidak memulai pipeline Anda pada perubahan pada cabang yang ditentukan. Untuk informasi selengkapnya, lihat Bekerja dengan pola glob dalam sintaks.

      catatan

      Jika termasuk dan mengecualikan keduanya memiliki pola yang sama, maka defaultnya adalah mengecualikan pola.

      Anda dapat menggunakan pola glob untuk menentukan nama cabang Anda. Misalnya, gunakan main* untuk mencocokkan semua cabang yang dimulai denganmain. Untuk informasi selengkapnya, lihat Bekerja dengan pola glob dalam sintaks.

      Untuk pemicu push, tentukan cabang yang Anda dorong, yaitu cabang tujuan. Untuk pemicu permintaan tarik, tentukan cabang tujuan tempat Anda membuka permintaan tarik.

    • (Opsional) Di bawah Jalur file, tentukan jalur file untuk pemicu Anda. Masukkan nama di Ser takan dan K ecualikan yang sesuai.

      Anda dapat menggunakan pola glob untuk menentukan nama jalur file Anda. Misalnya, gunakan prod* untuk mencocokkan semua jalur file yang dimulai denganprod. Untuk informasi selengkapnya, lihat Bekerja dengan pola glob dalam sintaks.

    • Pilih Pull request untuk mengonfigurasi konfigurasi pemicu pipeline untuk memulai dengan peristiwa pull request yang Anda tentukan.

Tambahkan filter untuk jenis acara permintaan push dan pull (CLI)

Anda dapat memperbarui JSON pipeline untuk menambahkan filter untuk pemicu.

Untuk menggunakan AWS CLI untuk membuat atau memperbarui pipeline Anda, gunakan update-pipeline perintah create-pipeline or.

Contoh struktur JSON berikut menyediakan referensi untuk definisi bidang di bawahcreate-pipeline.

Untuk daftar definisi bidang, lihat pemicu dalam referensi struktur pipa dalam panduan ini.

{ "pipeline": { "name": "MyServicePipeline", "triggers": [ { "provider": "Connection", "gitConfiguration": { "sourceActionName": "ApplicationSource", "push": [ { "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] }, "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ], "pullRequest": [ { "events": [ "CLOSED" ], "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] } } ] } } ], "stages": [ { "name": "Source", "actions": [ { "name": "ApplicationSource", "configuration": { "BranchName": "mainline", "ConnectionArn": "arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f8EXAMPLE", "FullRepositoryId": "monorepo-example", "OutputArtifactFormat": "CODE_ZIP" } } ] } ] } }

Tambahkan filter untuk jenis acara permintaan push dan pull (CloudFormation templat)

Anda dapat memperbarui sumber daya pipeline CloudFormation untuk menambahkan pemfilteran pemicu.

Contoh cuplikan template berikut menyediakan referensi YAML untuk definisi bidang pemicu. Untuk daftar definisi bidang, lihat pemicu dalam referensi struktur pipa dalam panduan ini.

Untuk contoh template lengkap untuk sumber koneksi dan konfigurasi filter pemicu, lihat Pipeline dengan dua tahap dan konfigurasi pemicu di Panduan CloudFormation Pengguna.

pipeline: name: MyServicePipeline executionMode: PARALLEL triggers: - provider: CodeConnection gitConfiguration: sourceActionName: ApplicationSource push: - filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' branches: includes: - feature/** - release/** excludes: - mainline - tags: includes: - release-v0 - release-v1 excludes: - release-v2 pullRequest: - events: - CLOSED branches: includes: - feature/** - release/** excludes: - mainline filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' stages: - name: Source actions: - name: ApplicationSource configuration: BranchName: mainline ConnectionArn: arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f85EXAMPLE FullRepositoryId: monorepo-example OutputArtifactFormat: CODE_ZIP