Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memantau CodePipeline acara
Anda dapat memantau CodePipeline peristiwa di EventBridge, yang memberikan aliran data real-time dari aplikasi Anda sendiri, aplikasi software-as-a-service (SaaS), dan. Layanan AWS EventBridge merutekan data tersebut ke target seperti AWS Lambda dan Amazon Simple Notification Service. Peristiwa ini sama dengan yang muncul di Amazon Ev CloudWatch ents, yang memberikan aliran peristiwa sistem yang hampir real-time yang menggambarkan perubahan AWS sumber daya. Untuk informasi lebih lanjut, lihat Apa itu Amazon EventBridge? dalam Panduan EventBridge Pengguna Amazon.
catatan
Amazon EventBridge adalah cara yang lebih disukai untuk mengelola acara Anda. Amazon CloudWatch Events dan EventBridge merupakan layanan dasar dan API yang sama, tetapi EventBridge menyediakan lebih banyak fitur. Perubahan yang Anda buat di salah CloudWatch satu Acara atau EventBridge akan muncul di setiap konsol.
Acara terdiri dari aturan. Aturan dikonfigurasi dengan memilih yang berikut:
-
Pola Acara. Setiap aturan dinyatakan sebagai pola peristiwa dengan sumber dan jenis peristiwa untuk dipantau, dan target peristiwa. Untuk memantau peristiwa, Anda membuat aturan dengan layanan yang Anda pantau sebagai sumber peristiwa, seperti CodePipeline. Misalnya, Anda dapat membuat aturan dengan pola peristiwa yang digunakan CodePipeline sebagai sumber peristiwa untuk memicu aturan ketika ada perubahan dalam keadaan pipeline, tahap, atau tindakan.
-
Target. Aturan baru menerima layanan yang dipilih sebagai target acara. Anda mungkin ingin menyiapkan layanan target untuk mengirim notifikasi, menangkap informasi status, mengambil tindakan korektif, memulai peristiwa, atau mengambil tindakan lain. Saat menambahkan target, Anda juga harus memberikan izin EventBridge untuk mengizinkannya memanggil layanan target yang dipilih.
Setiap jenis peristiwa perubahan status eksekusi memancarkan pemberitahuan dengan konten pesan tertentu, di mana:
-
En
versiontri awal menunjukkan nomor versi untuk acara tersebut. -
En
versiontri di bawah pipelinedetailmenunjukkan nomor versi struktur pipa. -
En
execution-idtri di bawah pipelinedetailmenunjukkan ID eksekusi untuk eksekusi pipeline yang menyebabkan perubahan status. Lihat panggilan GetPipelineExecution API di Referensi AWS CodePipeline API. -
En
pipeline-execution-attempttri menunjukkan jumlah upaya, atau percobaan ulang, untuk ID eksekusi tertentu.
CodePipeline melaporkan peristiwa ke EventBridge setiap kali status sumber daya dalam Anda Akun AWS berubah. Peristiwa dipancarkan berdasarkan jaminan, setidaknya sekali untuk sumber daya berikut:
-
Eksekusi pipa
-
Eksekusi panggung
-
Eksekusi tindakan
Peristiwa dipancarkan EventBridge dengan pola peristiwa dan skema yang dirinci di atas. Untuk acara yang diproses, seperti peristiwa yang Anda terima melalui pemberitahuan yang telah Anda konfigurasikan di konsol Alat Pengembang, pesan acara menyertakan bidang pola peristiwa dengan beberapa variasi. Misalnya, detail-type bidang diubah menjadidetailType. Untuk informasi selengkapnya, lihat panggilan PutEvents API di Refer ensi EventBridge API Amazon.
Contoh berikut menunjukkan acara untuk CodePipeline. Jika memungkinkan, setiap contoh menunjukkan skema untuk peristiwa yang dipancarkan bersama dengan skema untuk acara yang diproses.
Topik
Jenis detail
Saat Anda mengatur acara untuk dipantau, Anda dapat memilih jenis detail untuk acara tersebut.
Anda dapat mengonfigurasi notifikasi yang akan dikirim saat status berubah untuk:
-
Pipa tertentu atau semua saluran pipa Anda. Anda mengontrol ini dengan menggunakan
"detail-type":"CodePipeline Pipeline Execution State Change". -
Tahapan tertentu atau semua tahapan Anda, dalam pipa tertentu atau semua saluran pipa Anda. Anda mengontrol ini dengan menggunakan
"detail-type":"CodePipeline Stage Execution State Change". -
Tindakan tertentu atau semua tindakan, dalam tahap tertentu atau semua tahapan, dalam pipeline tertentu atau semua pipeline Anda. Anda mengontrol ini dengan menggunakan
"detail-type":"CodePipeline Action Execution State Change".
catatan
Peristiwa yang dipancarkan oleh EventBridge berisi detail-type parameter, yang diubah menjadi detailType saat peristiwa diproses.
| Tipe detail | Status | Deskripsi |
|---|---|---|
| CodePipeline Perubahan Status Eksekusi Pipa | DIBATALKAN | Eksekusi pipeline dibatalkan karena struktur pipa diperbarui. |
| FAILED | Eksekusi pipeline tidak berhasil diselesaikan. | |
| DILANJUTKAN | Eksekusi pipeline yang gagal telah dicoba ulang sebagai respons terhadap panggilan RetryStageExecution API. |
|
| DIMULAI | Eksekusi pipeline saat ini sedang berjalan. | |
| DIHENTIKAN | Proses penghentian selesai, dan eksekusi pipa dihentikan. | |
| BERHENTI | Eksekusi pipeline berhenti karena permintaan untuk berhenti dan menunggu atau menghentikan dan meninggalkan eksekusi pipeline. | |
| SUCCEEDED | Eksekusi pipeline berhasil diselesaikan. | |
| DIGANTIKAN |
Sementara eksekusi pipeline ini sedang menunggu tahap berikutnya untuk diselesaikan, eksekusi pipeline yang lebih baru maju dan dilanjutkan melalui pipeline sebagai gantinya. |
|
| CodePipeline Perubahan Status Eksekusi Tahap | DIBATALKAN | Panggung dibatalkan karena struktur pipa diperbarui. |
| FAILED | Panggung tidak selesai dengan sukses. | |
| DILANJUTKAN | Tahap yang gagal telah dicoba ulang sebagai respons terhadap panggilan RetryStageExecution API. |
|
| DIMULAI | Panggung saat ini sedang berjalan. | |
| DIHENTIKAN | Proses penghentian selesai, dan eksekusi tahap dihentikan. | |
| BERHENTI | Eksekusi tahap berhenti karena permintaan untuk berhenti dan menunggu atau menghentikan dan meninggalkan eksekusi pipeline. | |
| SUCCEEDED | Panggung selesai dengan sukses. | |
| CodePipeline Perubahan Status Eksekusi Tindakan | DITINGGALKAN | Tindakan tersebut ditinggalkan karena permintaan untuk menghentikan dan meninggalkan eksekusi pipa. |
| DIBATALKAN | Tindakan dibatalkan karena struktur pipa diperbarui. | |
| FAILED | Untuk tindakan persetujuan, status GAGAL berarti tindakan ditolak oleh peninjau atau gagal karena konfigurasi tindakan yang salah. | |
| DIMULAI | Tindakan saat ini sedang berjalan. | |
| SUCCEEDED | Tindakan berhasil diselesaikan. |
Pipeline-level acara
Pipeline-level peristiwa dipancarkan ketika ada perubahan status untuk eksekusi pipeline.
Topik
Acara Pipeline STARTED
Ketika eksekusi pipeline dimulai, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipeline yang dinamai "myPipeline" di Wil us-east-1 ayah. idBidang mewakili ID peristiwa, dan account bidang mewakili ID akun tempat pipeline dibuat.
Acara PENGHENTIAN PIPA
Ketika eksekusi pipeline berhenti, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipeline yang dinamai myPipeline di Wil us-west-2 ayah.
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Pipeline Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-24T22:02:20Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "start-time": "2023-10-26T13:49:39.208Z", "state": "STOPPING", "version": 3.0, "pipeline-execution-attempt": 1.0 "stop-execution-comments": "Stopping the pipeline for an update" } }
Acara Pipeline SUCCESED
Ketika eksekusi pipeline berhasil, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipeline yang dinamai myPipeline di Wil us-east-1 ayah.
Pipeline BERHASIL (contoh dengan tag Git)
Ketika eksekusi pipeline memiliki tahap yang telah dicoba ulang dan berhasil, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline bernama myPipeline di Wil eu-central-1 ayah di mana execution-trigger dikonfigurasi untuk tag Git.
catatan
Bid execution-trigger ang akan memiliki salah tag-name satu ataubranch-name, tergantung pada jenis peristiwa apa yang memicu pipa.
{ "version": "0", "id": "b128b002-09fd-4574-4eba-27152726c777", "detail-type": "CodePipeline Pipeline Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2023-10-26T13:50:53Z", "region": "eu-central-1", "resources": [ "arn:aws:codepipeline:eu-central-1:123456789012:BuildFromTag" ], "detail": { "pipeline": "BuildFromTag", "execution-id": "e17b5773-cc0d-4db2-9ad7-594c73888de8", "start-time": "2023-10-26T13:49:39.208Z", "execution-trigger": { "author-display-name": "Mary Major", "full-repository-name": "mmajor/sample-project", "provider-type": "GitLab", "author-email": "email_address", "commit-message": "Update file README.md", "author-date": "2023-08-16T21:08:08Z", "tag-name": "gitlab-v4.2.1", "commit-id": "commit_ID", "connection-arn": "arn:aws:codestar-connections:eu-central-1:123456789012:connection/0f5b706a-1a1d-46c5-86b6-f177321bcfb2", "author-id": "Mary Major" }, "state": "SUCCEEDED", "version": 32.0, "pipeline-execution-attempt": 1.0 } }
Peristiwa Pipeline FAILED
Ketika eksekusi pipeline gagal, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipeline yang dinamai "myPipeline" di Wil us-west-2 ayah.
Pipeline GAGAL (contoh dengan tag Git)
Kecuali gagal pada tahap sumber, untuk konfigurasi pipeline dengan pemicu, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline bernama myPipeline di Wil eu-central-1 ayah di mana execution-trigger dikonfigurasi untuk tag Git.
catatan
Bid execution-trigger ang akan memiliki salah tag-name satu ataubranch-name, tergantung pada jenis peristiwa apa yang memicu pipa.
Stage-level acara
Stage-level peristiwa dipancarkan ketika ada perubahan status untuk eksekusi tahap.
Topik
Acara STAGE STARTED
Ketika eksekusi tahap dimulai, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipa bernama "myPipeline" di Wil us-east-1 ayah, untuk tahapProd.
Acara Stage STOPING
Ketika eksekusi tahap berhenti, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipa bernama myPipeline di Wil us-west-2 ayah, untuk tahapDeploy.
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Stage Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-24T22:02:20Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "start-time": "2023-10-26T13:49:39.208Z", "stage": "Deploy", "state": "STOPPING", "version": 3.0, "pipeline-execution-attempt": 1.0 } }
Acara Stage STOP
Ketika eksekusi tahap dihentikan, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipa bernama myPipeline di Wil us-west-2 ayah, untuk tahapDeploy.
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Stage Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-31T18:21:39Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "start-time": "2023-10-26T13:49:39.208Z", "stage": "Deploy", "state": "STOPPED", "version": 3.0, "pipeline-execution-attempt": 1.0 } }
Tahap DILANJUTKAN setelah acara coba ulang tahap
Ketika eksekusi tahap dilanjutkan dan memiliki tahap yang telah dicoba ulang, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut.
Ketika tahap telah dicoba lagi, stage-last-retry-attempt-time bidang akan ditampilkan, seperti yang ditunjukkan pada contoh. Bidang ini ditampilkan pada semua acara panggung jika percobaan ulang dilakukan.
catatan
Bid stage-last-retry-attempt-time ang akan hadir di semua peristiwa tahap berikutnya setelah tahap dicoba ulang.
{ "version": "0", "id": "38656bcd-a798-5f92-c738-02a71be484e1", "detail-type": "CodePipeline Stage Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2023-10-26T14:14:56Z", "region": "eu-central-1", "resources": [ "arn:aws:codepipeline:eu-central-1:123456789012:BuildFromTag" ], "detail": { "pipeline": "BuildFromTag", "execution-id": "05dafb6a-5a56-4951-a858-968795364846", "stage-last-retry-attempt-time": "2023-10-26T14:14:56.305Z", "stage": "Build", "state": "RESUMED", "version": 32.0, "pipeline-execution-attempt": 2.0 } }
Action-level acara
Action-level peristiwa dipancarkan ketika ada perubahan status untuk eksekusi tindakan.
Acara Aksi DIMULAI
Ketika eksekusi tindakan dimulai, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline yang diberi nama myPipeline di Wil us-east-1 ayah, untuk tindakan penerapanmyAction.
Acara Aksi SUKSES
Ketika eksekusi tindakan berhasil, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline bernama "myPipeline" di Wil us-west-2 ayah, untuk tindakan sumber"Source". Untuk jenis acara ini, ada dua region bidang yang berbeda. regionBidang acara menentukan Wilayah untuk peristiwa pipeline. Bid region ang di bawah detail bagian menentukan Wilayah untuk tindakan.
Aksi peristiwa GAGAL
Ketika eksekusi tindakan gagal, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline bernama "myPipeline" di Wil us-west-2 ayah, untuk tindakan"Deploy".
Aksi Acara ABANDONED
Ketika eksekusi tindakan ditinggalkan, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline bernama "myPipeline" di Wil us-west-2 ayah, untuk tindakan"Deploy".
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Action Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-31T18:21:39Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "stage": "Deploy", "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21", "action": "Deploy", "state": "ABANDONED", "region": "us-west-2", "type": { "owner": "AWS", "provider": "CodeDeploy", "category": "Deploy", "version": "1" }, "version": 3.0, "pipeline-execution-attempt": 1.0 } }
Membuat Aturan yang Mengirim Notifikasi pada Acara Pipeline
Aturan mengawasi peristiwa tertentu dan kemudian merutekan mereka ke AWS target yang Anda pilih. Anda dapat membuat aturan yang melakukan AWS tindakan secara otomatis ketika AWS tindakan lain terjadi, atau aturan yang melakukan AWS tindakan secara teratur pada jadwal yang ditetapkan.
Topik
Mengirim Pemberitahuan Saat Status Pipeline Berubah (Konsol)
Langkah-langkah ini menunjukkan cara menggunakan EventBridge konsol untuk membuat aturan untuk mengirim pemberitahuan perubahan di CodePipeline.
Untuk membuat EventBridge aturan yang menargetkan pipeline Anda dengan sumber Amazon S3
Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/
. -
Di panel navigasi, pilih Aturan. Biarkan bus default dipilih atau pilih bus acara. Pilih Buat aturan.
-
Di Nama, masukkan nama untuk aturan Anda.
-
Di bawah Jenis aturan, pilih Aturan dengan pola acara. Pilih Berikutnya.
-
Di bawah Pola acara, pilih AWS layanan.
-
Dari daftar tarik -turun Jenis Peristiwa, pilih tingkat perubahan status untuk notifikasi.
-
Untuk aturan yang berlaku untuk peristiwa tingkat CodePipeline pipeline, pilih Perubahan Status Eksekusi Pipeline.
-
Untuk aturan yang berlaku untuk peristiwa tingkat tahap, pilih Perubahan Status Eksekusi CodePipeline Tahap.
-
Untuk aturan yang berlaku untuk peristiwa tingkat tindakan, pilih Perubahan Status Eksekusi CodePipeline Aksi.
-
-
Tentukan perubahan status yang diterapkan aturan:
-
Untuk aturan yang berlaku untuk semua perubahan status, pilih Negara apa saja.
-
Untuk aturan yang hanya berlaku untuk beberapa perubahan status, pilih Status tertentu, lalu pilih satu atau beberapa nilai status dari daftar.
-
-
Untuk pola peristiwa yang lebih detail daripada yang diizinkan oleh pemilih, Anda juga dapat menggunakan opsi Edit pola di jendela pola peristiwa untuk menetapkan pola peristiwa dalam format JSON.
catatan
Jika tidak ditentukan lain, maka pola peristiwa dibuat untuk semua pipelines/stages /actions dan state.
Untuk pola peristiwa yang lebih rinci, Anda dapat menyalin dan menempelkan contoh pola peristiwa berikut ke jendela pola peristiwa.
-
contoh
Gunakan pola peristiwa contoh ini untuk menangkap tindakan penerapan dan pembuatan yang gagal di semua pipeline.
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Action Execution State Change" ], "detail": { "state": [ "FAILED" ], "type": { "category": ["Deploy", "Build"] } } } -
contoh
Gunakan pola peristiwa sampel ini untuk menangkap semua tindakan persetujuan yang ditolak atau gagal di semua pipeline.
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Action Execution State Change" ], "detail": { "state": [ "FAILED" ], "type": { "category": ["Approval"] } } } -
contoh
Gunakan pola peristiwa sampel ini untuk menangkap semua peristiwa dari pipeline yang ditentukan.
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Pipeline Execution State Change", "CodePipeline Action Execution State Change", "CodePipeline Stage Execution State Change" ], "detail": { "pipeline": ["myPipeline", "my2ndPipeline"] } }
-
-
Pilih Berikutnya.
-
Di Jenis Target, pilih AWS layanan.
-
Di Pilih target, pilih CodePipeline. Di Pipeline ARN, masukkan pipa ARN untuk pipa yang akan dimulai dengan aturan ini.
catatan
Untuk mendapatkan pipa ARN, jalankan get-pipeline perintah. Pipa ARN muncul di output. Itu dibangun dalam format ini:
arn:aws:codepipeline:::
regionaccountpipeline-nameContoh pipa ARN:
arn: aws:codepipeline: us-east- 2:80398 EXAMPLE:MyFirstPipeline
-
Untuk membuat atau menentukan peran layanan IAM yang memberikan EventBridge izin untuk memanggil target yang terkait dengan EventBridge aturan Anda (dalam hal ini, targetnya adalah CodePipeline):
-
Pilih Buat peran baru untuk sumber daya khusus ini untuk membuat peran layanan yang memberikan EventBridge izin untuk memulai eksekusi pipeline Anda.
-
Pilih Gunakan peran yang ada untuk memasukkan peran layanan yang memberikan EventBridge izin untuk memulai eksekusi pipeline Anda.
-
-
Pilih Berikutnya.
-
Pada halaman Tag, pilih Ber ikutnya.
-
Pada halaman T injau dan buat, tinjau konfigurasi aturan. Jika Anda puas dengan aturan, pilih Create rule (Buat aturan).
Kirim Pemberitahuan Saat Status Pipeline Berubah (CLI)
Langkah-langkah ini menunjukkan cara menggunakan CLI untuk membuat aturan CloudWatch Acara untuk mengirim pemberitahuan perubahan di CodePipeline.
Untuk menggunakan AWS CLI untuk membuat aturan, panggil put-rule perintah, tentukan:
-
Nama yang secara unik mengidentifikasi aturan yang Anda buat. Nama ini harus unik di semua pipeline yang Anda buat CodePipeline terkait dengan AWS akun Anda.
-
Pola peristiwa untuk bidang sumber dan detail yang digunakan oleh aturan. Untuk informasi selengkapnya, lihat Amazon EventBridge dan Pola Acara.
Untuk membuat EventBridge aturan dengan CodePipeline sebagai sumber peristiwa
-
Panggil put-rule perintah untuk membuat aturan yang menentukan pola acara. (Lihat tabel sebelumnya untuk status yang valid.)
Perintah contoh berikut digunakan --event-pattern untuk membuat aturan yang disebut
"MyPipelineStateChanges"yang memancarkan CloudWatch peristiwa ketika eksekusi pipeline gagal untuk pipeline bernama “myPipeline.”aws events put-rule --name "MyPipelineStateChanges" --event-pattern "{\"source\":[\"aws.codepipeline\"],\"detail-type\":[\"CodePipeline Pipeline Execution State Change\"],\"detail\":{\"pipeline\":[\"myPipeline\"],\"state\":[\"FAILED\"]}}" -
Panggil put-targets perintah dan sertakan parameter berikut:
-
--ruleParameter digunakan dengan yangrule_nameAnda buat dengan menggunakanput-rule. -
--targetsParameter digunakan denganIddaftar target dalam daftar target dan topik Amazon SNS.ARN
Perintah sampel berikut menentukan bahwa untuk aturan yang
IddipanggilMyPipelineStateChanges, target terdiri dari nomor satu, menunjukkan bahwa dalam daftar target untuk aturan, ini adalah target 1. Perintah sampel juga menentukan contohARNuntuk topik Amazon SNS.aws events put-targets --rule MyPipelineStateChanges --targets Id=1,Arn=arn:aws:sns:us-west-2:11111EXAMPLE:MyNotificationTopic -
-
Tambahkan izin EventBridge untuk menggunakan layanan target yang ditunjuk untuk memanggil notifikasi. Untuk informasi selengkapnya, lihat Menggunakan kebijakan berbasis sumber daya untuk Amazon. EventBridge