Memantau peristiwa CodePipeline - AWS CodePipeline

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

Memantau peristiwa CodePipeline

EventBridge memonitor peristiwa CodePipeline di EventBridge, yang mengirimkan aliran data waktu nyata dari aplikasi Anda sendiri, aplikasi perangkat lunak sebagai layanan (SaaS), danAWSlayanan. EventBridge merutekan data ke target seperti AWS Lambda dan Amazon Simple Notification Service. Peristiwa ini sama dengan yang muncul di Amazon CloudWatch Events, yang memberikan pengaliran sistem waktu nyata yang menjelaskan perubahan dalam sumber daya AWS. Untuk informasi selengkapnya, lihat Apa itu Amazon EventBridge? dalam Panduan Pengguna Amazon EventBridge.

catatan

Amazon EventBridge adalah cara pilihan untuk mengelola peristiwa Anda. Amazon CloudWatch Events dan EventBridge adalah layanan dan API dasar yang sama, tetapi EventBridge menyediakan lebih banyak fitur. Perubahan yang Anda buat di CloudWatch Events atau EventBridge akan muncul di setiap konsol.

Acara terdiri dari aturan. Aturan dikonfigurasi dengan memilih yang berikut:

  • Pola Peristiwa. Setiap aturan dinyatakan sebagai pola acara dengan sumber dan jenis peristiwa untuk memantau, dan target acara. Untuk memantau peristiwa, Anda membuat aturan dengan layanan yang Anda pantau sebagai sumber acara, seperti CodePipeline. Misalnya, Anda dapat membuat aturan dengan pola peristiwa yang menggunakan CodePipeline sebagai sumber peristiwa untuk memicu aturan ketika ada perubahan dalam keadaan pipa, tahap, atau tindakan.

  • Target. Aturan baru menerima layanan yang dipilih sebagai target acara. Layanan target untuk mengirim notifikasi, menangkap informasi status, mengambil tindakan korektif, menginisiasi peristiwa, atau mengambil tindakan lain. Saat menambahkan target, Anda juga harus memberikan izin ke Amazon CloudWatch Events untuk memungkinkannya memanggil layanan target yang dipilih.

Setiap jenis peristiwa perubahan status eksekusi memancarkan pemberitahuan dengan konten pesan tertentu, di mana:

  • Awalversionentri menunjukkan nomor versi untuk acara tersebut.

  • Parameterversionmasuk di bawah pipadetailmenunjukkan nomor versi struktur pipa.

  • Parameterexecution-idmasuk di bawah pipadetailmenunjukkan ID eksekusi untuk eksekusi pipa yang menyebabkan perubahan keadaan. Mengacu padaGetPipelineExecutionPanggilan APIAWS CodePipelineReferensi API.

CodePipeline melaporkan peristiwa ke Amazon CloudWatch Events kapan pun keadaan sumber daya di AndaAWSperubahan akun. Peristiwa dipancarkan berdasarkan jaminan, setidaknya sekali untuk sumber daya berikut:

  • Eksekusi alur

  • Eksekusi tahap

  • Eksekusi tindakan

Acara yang dipancarkan oleh EventBridge dengan pola acara dan skema rinci di atas. Untuk peristiwa yang diproses, seperti peristiwa yang Anda terima melalui notifikasi yang telah Anda konfigurasi di konsol Alat Pengembang, pesan acara mencakup bidang pola acara dengan beberapa variasi. Misalnya,detail-typebidang dikonversi kedetailType. Untuk informasi selengkapnya, lihatPutEventsPanggilan APIReferensi API Amazon EventBridge.

Contoh berikut menunjukkan peristiwa CodePipeline. Jika memungkinkan, setiap contoh menunjukkan skema untuk acara yang dipancarkan bersama dengan skema untuk acara diproses.

Jenis detail

Ketika Anda mengatur acara untuk memantau, Anda dapat memilih jenis detail untuk acara tersebut.

Anda dapat mengonfigurasi notifikasi yang akan dikirim saat status berubah untuk:

  • Ditentukan jaringan pipa atau semua jaringan pipa Anda. Anda mengontrol ini dengan menggunakan"detail-type": "CodePipeline Pipeline Execution State Change".

  • Tahapan yang ditentukan atau semua tahapan Anda, dalam pipa tertentu atau semua jaringan pipa Anda. Anda mengontrol ini dengan menggunakan"detail-type": "CodePipeline Stage Execution State Change".

  • Tindakan tertentu atau semua tindakan, dalam tahap tertentu atau semua tahap, dalam pipa tertentu atau semua jaringan pipa Anda. Anda mengontrol ini dengan menggunakan"detail-type": "CodePipeline Action Execution State Change".

catatan

Acara yang dipancarkan oleh EventBridge berisidetail-typeparameter, yang dikonversi kedetailTypesaat acara diproses.

Jenis detail Kondisi Deskripsi
Perubahan Eksekusi Eksekusi Alur MEMBATALKAN Eksekusi pipa dibatalkan karena struktur pipa diperbarui.
GAGAL Eksekusi pipa tidak berhasil diselesaikan.
DILANJUTKAN Sebuah eksekusi pipa gagal telah dicoba kembali dalam menanggapiRetryStageExecutionPanggilan API.
DIMULAI Eksekusi pipa saat ini sedang berjalan.
DIHENTIKAN Proses penghentian selesai, dan eksekusi pipa dihentikan.
BERHENTI Eksekusi pipa berhenti karena permintaan untuk berhenti dan menunggu atau berhenti dan meninggalkan eksekusi pipa.
SUKSES Eksekusi pipa berhasil diselesaikan.
DIGANTIKAN

Sementara eksekusi pipa ini menunggu tahap berikutnya selesai, eksekusi pipa yang lebih baru maju dan dilanjutkan melalui pipa sebagai gantinya.

Perubahan Status Eksekusi Tahap CodePipeline MEMBATALKAN Panggung dibatalkan karena struktur pipa diperbarui.
GAGAL Panggung itu tidak berhasil diselesaikan.
DILANJUTKAN Tahap gagal telah dicoba ulang sebagai respons terhadapRetryStageExecutionPanggilan API.
DIMULAI Panggung sedang berjalan.
DIHENTIKAN Proses penghentian selesai, dan eksekusi panggung dihentikan.
BERHENTI Eksekusi panggung berhenti karena permintaan untuk berhenti dan menunggu atau berhenti dan meninggalkan eksekusi pipa.
SUKSES Tahap berhasil diselesaikan.
Perubahan Status Eksekusi Tindakan CodePipeline MENELANTARKAN Tindakan ini ditinggalkan karena permintaan untuk berhenti dan meninggalkan eksekusi pipa.
MEMBATALKAN Tindakan dibatalkan karena struktur pipa diperbarui.
GAGAL Untuk tindakan persetujuan, status GAIL berarti tindakan ditolak oleh reviewer atau gagal karena konfigurasi tindakan yang salah.
DIMULAI Tindakan saat ini sedang berjalan.
SUKSES Tindakan berhasil diselesaikan.

Peristiwa tingkat pipa

Peristiwa tingkat pipa dipancarkan ketika ada perubahan keadaan untuk eksekusi pipa.

Acara pipa MULAI

Ketika eksekusi pipa dimulai, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernama"myPipeline"dius-east-1Wilayah. Parameteridbidang mewakili ID peristiwa, danaccountbidang mewakili ID akun di mana pipa dibuat.

Emitted event
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Pipeline Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-24T22:03:07Z", "region": "us-east-1", "resources": [ "arn:aws:codepipeline:us-east-1:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "execution-trigger": { "trigger-type": "StartPipelineExecution", "trigger-detail": "arn:aws:sts::123456789012:assumed-role/Admin/my-user" }, "state": "STARTED", "version": 1 } }
Processed event
{ "account": "123456789012", "detailType": "CodePipeline Pipeline Execution State Change", "region": "us-east-1", "source": "aws.codepipeline", "time": "2021-06-24T00:44:50Z", "notificationRuleArn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/a69c62c21EXAMPLE", "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "execution-trigger": { "trigger-type": "StartPipelineExecution", "trigger-detail": "arn:aws:sts::123456789012:assumed-role/Admin/my-user" }, "state": "STARTED", "version": 1, "pipeline-execution-attempt": 1 }, "resources": [ "arn:aws:codepipeline:us-east-1:123456789012:myPipeline" ], "additionalAttributes": {} }

Acara Pipeline STOP

Ketika eksekusi pipa berhenti, itu memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini adalah untuk pipa bernamamyPipelinedius-west-2Wilayah.

{ "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", "state": "STOPPING", "version": 3, "stop-execution-comments": "Stopping the pipeline for an update" } }

Pipeline BERGUSIH

Ketika eksekusi pipeline berhasil, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernamamyPipelinedius-east-1Wilayah.

Emitted event
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Pipeline Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-24T22:03:44Z", "region": "us-east-1", "resources": [ "arn:aws:codepipeline:us-east-1:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "state": "SUCCEEDED", "version": 3 } }
Processed event
{ "account": "123456789012", "detailType": "CodePipeline Pipeline Execution State Change", "region": "us-east-1", "source": "aws.codepipeline", "time": "2021-06-30T22:13:51Z", "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE", "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "state": "SUCCEEDED", "version": 1, "pipeline-execution-attempt": 1 }, "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "additionalAttributes": {} }

Peristiwa GAIL

Ketika eksekusi pipa gagal, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernama"myPipeline"dius-west-2Wilayah.

Emitted event
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Pipeline Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-31T18:55:43Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "state": "FAILED", "version": 4 } }
Processed event
{ "account": "123456789012", "detailType": "CodePipeline Pipeline Execution State Change", "region": "us-west-2", "source": "aws.codepipeline", "time": "2021-06-24T00:46:16Z", "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE", "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "state": "FAILED", "version": 1, "pipeline-execution-attempt": 1 }, "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "additionalAttributes": { "failedActionCount": 1, "failedActions": [ { "action": "Deploy", "additionalInformation": "Deployment <ID> failed" } ], "failedStage": "Deploy" }

Peristiwa tingkat

Peristiwa tingkat tahap dipancarkan ketika ada perubahan negara untuk eksekusi panggung.

Acara MULAI

Ketika eksekusi tahap dimulai, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernama"myPipeline"dius-east-1Wilayah, untuk tahapProd.

Emitted event
{ "version": "0", "id": 01234567-EXAMPLE, "detail-type": "CodePipeline Stage Execution State Change", "source": "aws.codepipeline", "account": 123456789012, "time": "2020-01-24T22:03:07Z", "region": "us-east-1", "resources": [ "arn:aws:codepipeline:us-east-1:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "version": "1", "execution-id": 12345678-1234-5678-abcd-12345678abcd, "stage": "Prod", "state": "STARTED" } }
Processed event
{ "account": "123456789012", "detailType": "CodePipeline Stage Execution State Change", "region": "us-east-1", "source": "aws.codepipeline", "time": "2021-06-24T00:45:40Z", "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE", "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "stage": "Source", "state": "STARTED", "version": 1, "pipeline-execution-attempt": 0 }, "resources": [ "arn:aws:codepipeline:us-east-1:123456789012:myPipeline" ], "additionalAttributes": { "sourceActions": [ { "sourceActionName": "Source", "sourceActionProvider": "CodeCommit", "sourceActionVariables": { "BranchName": "main", "CommitId": "<ID>", "RepositoryName": "my-repo" } } ] } }

Kejadian STOHT

Ketika eksekusi tahap berhenti, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernamamyPipelinedius-west-2Wilayah, 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", "stage": "Deploy", "state": "STOPPING", "version": 3 } }

Kejadian STOP

Ketika eksekusi tahap dihentikan, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernamamyPipelinedius-west-2Wilayah, 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", "stage": "Deploy", "state": "STOPPED", "version": 3 } }

Peristiwa tingkat

peristiwa tindakan-tingkat yang dipancarkan ketika ada perubahan negara untuk eksekusi tindakan.

Acara MULAI

Ketika eksekusi tindakan dimulai, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernamamyPipelinedius-east-1Wilayah, untuk tindakan penyebaranmyAction.

Emitted event
{ "version": "0", "id": 01234567-EXAMPLE, "detail-type": "CodePipeline Action Execution State Change", "source": "aws.codepipeline", "account": 123456789012, "time": "2020-01-24T22:03:07Z", "region": "us-east-1", "resources": [ "arn:aws:codepipeline:us-east-1:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": 12345678-1234-5678-abcd-12345678abcd, "stage": "Prod", "action": "myAction", "state": "STARTED", "type": { "owner": "AWS", "category": "Deploy", "provider": "CodeDeploy", "version": 1 }, "input-artifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "codepipeline-us-east-1-BUCKETEXAMPLE", "key": "myPipeline/SourceArti/KEYEXAMPLE" } } ] } }
Processed event
{ "account": "123456789012", "detailType": "CodePipeline Action Execution State Change", "region": "us-west-2", "source": "aws.codepipeline", "time": "2021-06-24T00:45:44Z", "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE", "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "stage": "Deploy", "action": "Deploy", "input-artifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "codepipeline-us-east-1-EXAMPLE", "key": "myPipeline/SourceArti/EXAMPLE" } } ], "state": "STARTED", "region": "us-east-1", "type": { "owner": "AWS", "provider": "CodeDeploy", "category": "Deploy", "version": "1" }, "version": 1, "pipeline-execution-attempt": 1 }, "resources": [ "arn:aws:codepipeline:us-east-1:123456789012:myPipeline" ], "additionalAttributes": {} }

Kejadian berhasil

Ketika eksekusi tindakan berhasil, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernama"myPipeline"dius-west-2Wilayah, untuk tindakan sumber"Source". Untuk jenis acara ini, ada dua yang berbedaregionbidang. Peristiwaregionbidang menentukan Daerah untuk acara pipa. Parameterregionbidang di bawahdetailbagian menentukan Daerah untuk tindakan.

Emitted event
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Action Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-24T22:03:11Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "stage": "Source", "execution-result": { "external-execution-url": "https://us-west-2.console.aws.amazon.com/codecommit/home#/repository/my-repo/commit/8cf40f2EXAMPLE", "external-execution-summary": "Added LICENSE.txt", "external-execution-id": "8cf40fEXAMPLE" }, "output-artifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "codepipeline-us-west-2-BUCKETEXAMPLE", "key": "myPipeline/SourceArti/KEYEXAMPLE" } } ], "action": "Source", "state": "SUCCEEDED", "region": "us-west-2", "type": { "owner": "AWS", "provider": "CodeCommit", "category": "Source", "version": "1" }, "version": 3 } }
Processed event
{ "account": "123456789012", "detailType": "CodePipeline Action Execution State Change", "region": "us-west-2", "source": "aws.codepipeline", "time": "2021-06-24T00:45:44Z", "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:ACCOUNT:notificationrule/a69c62c21EXAMPLE", "detail": { "pipeline": "myPipeline", "execution-id": "arn:aws:codepipeline:us-west-2:123456789012:myPipeline", "stage": "Source", "execution-result": { "external-execution-url": "https://us-west-2.console.aws.amazon.com/codecommit/home#/repository/my-repo/commit/8cf40f2EXAMPLE", "external-execution-summary": "Edited index.html", "external-execution-id": "36ab3ab7EXAMPLE" }, "output-artifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "codepipeline-us-west-2-EXAMPLE", "key": "myPipeline/SourceArti/EXAMPLE" } } ], "action": "Source", "state": "SUCCEEDED", "region": "us-west-2", "type": { "owner": "AWS", "provider": "CodeCommit", "category": "Source", "version": "1" }, "version": 1, "pipeline-execution-attempt": 1 }, "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "additionalAttributes": {} }

Kejadian gagal

Ketika eksekusi tindakan gagal, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernama"myPipeline"dius-west-2Wilayah, untuk tindakan"Deploy".

Emitted event
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Action Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-31T18:55:43Z", "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", "execution-result": { "external-execution-url": "https://us-west-2.console.aws.amazon.com/codedeploy/home?#/deployments/<ID>", "external-execution-summary": "Deployment <ID> failed", "external-execution-id": "<ID>", "error-code": "JobFailed" }, "action": "Deploy", "state": "FAILED", "region": "us-west-2", "type": { "owner": "AWS", "provider": "CodeDeploy", "category": "Deploy", "version": "1" }, "version": 4 } }
Processed event
{ "account": "123456789012", "detailType": "CodePipeline Action Execution State Change", "region": "us-west-2", "source": "aws.codepipeline", "time": "2021-06-24T00:46:16Z", "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE", "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "stage": "Deploy", "execution-result": { "external-execution-url": "https://console.aws.amazon.com/codedeploy/home?region=us-west-2#/deployments/<ID>", "external-execution-summary": "Deployment <ID> failed", "external-execution-id": "<ID>", "error-code": "JobFailed" }, "action": "Deploy", "state": "FAILED", "region": "us-west-2", "type": { "owner": "AWS", "provider": "CodeDeploy", "category": "Deploy", "version": "1" }, "version": 13, "pipeline-execution-attempt": 1 }, "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "additionalAttributes": { "additionalInformation": "Deployment <ID> failed" } }

Kejadian Alur

Ketika eksekusi tindakan ditinggalkan, itu memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini adalah untuk pipa bernama"myPipeline"dius-west-2Wilayah, 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": "Deploy", "state": "ABANDONED", "region": "us-west-2", "type": { "owner": "AWS", "provider": "CodeDeploy", "category": "Deploy", "version": "1" }, "version": 3 } }

Buat Aturan yang Mengirim Pemberitahuan pada Acara Pipeline

Aturan jam tangan untuk acara tertentu dan kemudian rute mereka keAWStarget yang Anda pilih. Anda dapat membuat aturan yang melakukanAWStindakan secara otomatis ketika yang lainAWStindakan terjadi, atau aturan yang melakukanAWStindakan secara teratur pada jadwal yang ditetapkan.

Mengirim Pemberitahuan Saat Perubahan Negara Pipeline (Konsol)

Langkah-langkah ini menunjukkan cara menggunakan konsol CloudWatch untuk membuat aturan untuk mengirim pemberitahuan perubahan di CodePipeline.

Untuk membuat aturan CloudWatch Events dengan CodePipeline sebagai sumber peristiwa

  1. Buka konsol CloudWatch di https://console.aws.amazon.com/cloudwatch/.

  2. Di panel navigasi, pilih Peristiwa.

  3. Pilih Buat aturan. Di bawahSumber peristiwa, dariNama Layanandaftar drop-down, pilihCodePipeline.

  4. DariJenis Peristiwadaftar tarik-turun, pilih tingkat perubahan status untuk notifikasi.

    • Untuk aturan yang berlaku untuk peristiwa tingkat pipa, pilihPerubahan Eksekusi Eksekusi Alur.

    • Untuk aturan yang berlaku untuk peristiwa tingkat tahap, pilihPerubahan Status Eksekusi Tahap CodePipeline.

    • Untuk aturan yang berlaku untuk peristiwa tingkat aksi, pilihPerubahan Status Eksekusi Tindakan CodePipeline.

  5. Tentukan perubahan status yang berlaku aturan untuk:

    • Untuk aturan yang berlaku untuk semua perubahan status, pilihSetiap negara.

    • Untuk aturan yang berlaku untuk beberapa perubahan status saja, pilihStatus spesifik, lalu pilih satu atau lebih nilai status dari daftar.

  6. Untuk pola acara yang lebih rinci daripada pemilih memungkinkan, Anda juga dapat menggunakanMengeditopsi diPratinjau Polauntuk menunjuk pola peristiwa dalam format JSON.

    catatan

    Jika tidak ditentukan lain, maka pola acara dibuat untuk semua pipa/tahap/tindakan dan negara.

    Untuk pola acara yang lebih rinci, Anda dapat menyalin dan menempelkan pola acara contoh berikut ke dalamMengeditjendela.

    • Gunakan pola kejadian contoh ini untuk menangkap gagal menyebarkan dan membangun tindakan di semua saluran pipa.

      { "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Action Execution State Change" ], "detail": { "state": [ "FAILED" ], "type": { "category": ["Deploy", "Build"] } } }
    • Gunakan pola kejadian sampel ini untuk menangkap semua tindakan persetujuan yang ditolak atau gagal di semua saluran pipa.

      { "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Action Execution State Change" ], "detail": { "state": [ "FAILED" ], "type": { "category": ["Approval"] } } }
    • Gunakan pola kejadian sampel ini untuk menangkap semua peristiwa dari jaringan pipa 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"] } }
  7. Di area Targets (Target), pilih Add target* (Tambahkan target*).

  8. DiPilih tipe targetdaftar, pilih jenis target untuk aturan ini, lalu konfigurasi opsi yang diperlukan oleh jenis tersebut.

  9. Pilih Konfigurasikan detail.

  10. PadaKonfigurasikan detail aturan.halaman, ketikkan nama dan deskripsi untuk aturan, lalu pilihnegara bagiankotak untuk mengaktifkan aturan sekarang.

  11. Pilih Buat aturan.

Kirim Pemberitahuan Saat Perubahan Negara Pipeline (CLI)

Langkah-langkah ini menunjukkan cara menggunakan CLI untuk membuat aturan CloudWatch Events untuk mengirim pemberitahuan perubahan di CodePipeline.

Untuk menggunakanAWS CLIuntuk membuat aturan, panggilput-ruleperintah, menentukan:

  • Nama yang secara unik mengidentifikasi aturan yang Anda buat. Nama ini harus unik di semua jaringan pipa yang Anda buat dengan CodePipeline yang terkait denganAWSakun.

  • Pola acara untuk bidang sumber dan detail yang digunakan oleh aturan. Untuk informasi selengkapnya, lihatPola Peristiwa dan Peristiwa Amazon CloudWatch.

Untuk membuat aturan CloudWatch Events dengan CodePipeline sebagai sumber peristiwa

  1. Memanggilput-ruleperintah untuk membuat aturan menentukan pola acara. (Lihat tabel sebelumnya untuk status yang valid.)

    Contoh perintah berikut menggunakan--event-patternuntuk membuat aturan“MyPipelineStateChanges”yang memancarkan peristiwa CloudWatch ketika eksekusi pipa gagal untuk pipa 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\"]}}"
  2. Memanggilput-targetsperintah dan mencakup parameter berikut:

    • Parameter--ruleparameter yang digunakan denganrule_namekamu buat dengan menggunakanput-rule.

    • Parameter--targetsparameter digunakan dengan daftarIddari target dalam daftar target danARNtopik Amazon SNS.

    Contoh perintah berikut menentukan bahwa untuk aturan yang disebutMyPipelineStateChangesTargetIdterdiri 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
  3. Tambahkan izin untuk Amazon CloudWatch Events untuk menggunakan layanan target yang ditunjuk untuk memanggil notifikasi. Untuk informasi selengkapnya, lihatMenggunakan Kebijakan Berbasis Sumber Daya untuk Amazon CloudWatch Events.