Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi percobaan ulang tahap untuk tahap yang gagal atau tindakan yang gagal
Anda dapat mencoba lagi tahap yang gagal tanpa harus menjalankan pipeline lagi dari awal. Anda melakukan ini dengan mencoba kembali tindakan yang gagal dalam satu tahap atau dengan mencoba kembali semua tindakan di tahap mulai dari tindakan pertama di panggung. Saat Anda mencoba lagi tindakan yang gagal dalam satu tahap, semua tindakan yang masih berlangsung terus bekerja, dan tindakan yang gagal dipicu lagi. Ketika Anda mencoba lagi tahap yang gagal dari tindakan pertama di panggung, tahap tidak dapat memiliki tindakan apa pun yang sedang berlangsung. Sebelum sebuah tahap dapat dicoba lagi, itu harus memiliki semua tindakan gagal atau beberapa tindakan gagal dan beberapa berhasil.
penting
Mencoba lagi tahap yang gagal mencoba kembali semua tindakan di panggung dari aksi pertama di panggung, dan mencoba kembali tindakan yang gagal mencoba kembali semua tindakan yang gagal di panggung. Ini mengesampingkan artefak keluaran dari tindakan yang sebelumnya berhasil dalam eksekusi yang sama.
Meskipun artefak dapat diganti, riwayat eksekusi tindakan yang sebelumnya berhasil masih dipertahankan.
Jika Anda menggunakan konsol untuk melihat pipeline, tombol tahap Coba lagi atau tombol Tindakan gagal Coba lagi muncul di panggung yang dapat dicoba ulang.
Jika Anda menggunakan AWS CLI, Anda dapat menggunakan get-pipeline-state perintah untuk menentukan apakah ada tindakan yang gagal.
catatan
Dalam kasus berikut, Anda mungkin tidak dapat mencoba lagi tahap:
-
Semua tindakan di panggung berhasil, sehingga panggung tidak dalam status gagal.
-
Struktur pipa keseluruhan berubah setelah tahap gagal.
-
Upaya coba lagi di panggung sudah berlangsung.
Topik
Pertimbangan untuk percobaan ulang tahap
Pertimbangan untuk percobaan ulang tahap adalah sebagai berikut:
-
Anda hanya dapat mengonfigurasi percobaan ulang otomatis pada kegagalan panggung untuk satu upaya coba lagi.
-
Anda dapat mengonfigurasi percobaan ulang otomatis pada kegagalan panggung untuk semua tindakan, termasuk
Source
tindakan.
Coba lagi tahap yang gagal secara manual
Anda dapat mencoba lagi tahap yang gagal secara manual menggunakan konsol atauCLI.
Anda juga dapat mengonfigurasi tahap untuk mencoba lagi secara otomatis pada kegagalan seperti yang dijelaskan dalamKonfigurasikan tahap untuk coba lagi otomatis pada kegagalan.
Coba lagi tahap yang gagal secara manual (konsol)
Untuk mencoba lagi tahap yang gagal atau tindakan yang gagal dalam tahap - konsol
-
Masuk ke AWS Management Console dan buka CodePipeline konsol di http://console.aws.amazon. com/codesuite/codepipeline/home
. Nama-nama semua pipeline yang terkait dengan AWS akun Anda ditampilkan.
-
Di Nama, pilih nama pipa.
-
Temukan panggung dengan tindakan yang gagal, lalu pilih salah satu dari berikut ini:
-
Untuk mencoba kembali semua tindakan di panggung, pilih Coba lagi tahap.
-
Untuk mencoba lagi hanya tindakan yang gagal di panggung, pilih Coba lagi tindakan yang gagal.
Jika semua tindakan yang dicoba ulang di tahap selesai dengan sukses, pipa terus berjalan.
-
Coba lagi tahap yang gagal secara manual () CLI
Untuk mencoba lagi tahap yang gagal atau tindakan yang gagal dalam satu tahap - CLI
Untuk menggunakan AWS CLI untuk mencoba kembali semua tindakan atau semua tindakan yang gagal, Anda menjalankan retry-stage-execution perintah dengan parameter berikut:
--pipeline-name <value> --stage-name <value> --pipeline-execution-id <value> --retry-mode ALL_ACTIONS/FAILED_ACTIONS
catatan
Nilai yang dapat Anda gunakan retry-mode
adalah FAILED_ACTIONS
danALL_ACTIONS
.
-
Di terminal (Linux, macOS, atau Unix) atau command prompt (Windows), jalankan retry-stage-executionperintah, seperti yang ditunjukkan pada contoh berikut untuk pipeline bernama.
MyPipeline
aws codepipeline retry-stage-execution --pipeline-name MyPipeline --stage-name Deploy --pipeline-execution-id b59babff-5f34-EXAMPLE --retry-mode FAILED_ACTIONS
Output mengembalikan ID eksekusi:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }
-
Anda juga dapat menjalankan perintah dengan file JSON input. Pertama-tama Anda membuat JSON file yang mengidentifikasi pipeline, tahapan yang berisi tindakan gagal, dan eksekusi pipeline terbaru di tahap tersebut. Anda kemudian menjalankan retry-stage-execution perintah dengan
--cli-input-json
parameter. Untuk mengambil detail yang Anda butuhkan untuk JSON file, paling mudah untuk menggunakan get-pipeline-state perintah.-
Di terminal (Linux, macOS, atau Unix) atau command prompt (Windows), jalankan get-pipeline-stateperintah pada pipeline. Misalnya, untuk pipeline bernama MyFirstPipeline, Anda akan mengetik sesuatu yang mirip dengan berikut ini:
aws codepipeline get-pipeline-state --name
MyFirstPipeline
Respons terhadap perintah mencakup informasi status pipa untuk setiap tahap. Dalam contoh berikut, respons menunjukkan bahwa satu atau lebih tindakan gagal dalam tahap Pementasan:
{ "updated": 1427245911.525, "created": 1427245911.525, "pipelineVersion": 1, "pipelineName": "MyFirstPipeline", "stageStates": [ { "actionStates": [...], "stageName": "Source", "latestExecution": { "pipelineExecutionId": "9811f7cb-7cf7-SUCCESS", "status": "Succeeded" } },
{ "actionStates": [...], "stageName": "Staging", "latestExecution": { "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE", "status": "Failed" }
} ] } -
Dalam editor teks biasa, buat file tempat Anda akan merekam yang berikut ini, dalam format: JSON
-
Nama pipa yang berisi tindakan gagal
-
Nama panggung yang berisi tindakan yang gagal
-
ID eksekusi pipeline terbaru di panggung
-
Mode coba lagi.
Untuk MyFirstPipeline contoh sebelumnya, file Anda akan terlihat seperti ini:
{ "pipelineName": "MyFirstPipeline", "stageName": "Staging", "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE", "retryMode": "FAILED_ACTIONS" }
-
-
Simpan file dengan nama seperti
retry-failed-actions.json
. -
Panggil file yang Anda buat saat menjalankan retry-stage-executionperintah. Sebagai contoh:
penting
Pastikan untuk menyertakan
file://
sebelum nama file. Diperlukan dalam perintah ini.aws codepipeline retry-stage-execution --cli-input-json file://retry-failed-actions.json
-
Untuk melihat hasil percobaan ulang, buka CodePipeline konsol dan pilih pipeline yang berisi tindakan yang gagal, atau gunakan get-pipeline-state perintah lagi. Untuk informasi selengkapnya, lihat Lihat saluran pipa dan detailnya di CodePipeline.
-
Konfigurasikan tahap untuk coba lagi otomatis pada kegagalan
Anda dapat mengonfigurasi panggung untuk coba lagi otomatis pada kegagalan. Tahap akan membuat satu percobaan lagi dan menampilkan status coba lagi pada tahap gagal pada halaman View pipeline.
Anda dapat mengonfigurasi mode coba lagi dengan menentukan bahwa tahap harus secara otomatis mencoba kembali semua tindakan dalam tahap gagal atau hanya tindakan yang gagal di panggung.
Konfigurasikan panggung untuk coba lagi otomatis pada kegagalan (konsol)
Anda dapat menggunakan konsol untuk mengonfigurasi panggung untuk coba lagi otomatis.
Konfigurasikan panggung untuk coba lagi otomatis (konsol)
-
Masuk ke AWS Management Console 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.
-
Di Nama, pilih nama pipeline yang ingin Anda edit.
-
Pada halaman detail pipeline, pilih Edit.
-
Pada halaman Edit, untuk tindakan yang ingin Anda edit, pilih Edit tahap.
-
Pilih Konfigurasi tahap otomatis:, lalu pilih Aktifkan coba ulang otomatis pada kegagalan panggung. Simpan perubahan pada pipeline Anda.
-
Dalam konfigurasi tahap otomatis:, pilih salah satu mode coba lagi berikut:
-
Untuk menentukan bahwa mode akan mencoba kembali semua tindakan di panggung, pilih Coba lagi tahap gagal.
-
Untuk menentukan bahwa mode hanya akan mencoba lagi tindakan yang gagal di panggung, pilih Coba lagi tindakan yang gagal.
Simpan perubahan pada pipeline Anda.
-
-
Setelah pipeline Anda berjalan, jika kegagalan tahap terjadi, upaya coba ulang otomatis akan dilakukan. Contoh berikut menunjukkan tahap build yang telah dicoba ulang secara otomatis.
-
Untuk melihat detail tentang upaya coba lagi, pilih. Jendela menampilkan.
Konfigurasikan tahapan untuk coba ulang otomatis () CLI
Untuk menggunakan AWS CLI untuk mengkonfigurasi tahap untuk secara otomatis mencoba kembali pada kegagalan, gunakan perintah untuk membuat atau memperbarui pipeline seperti yang dijelaskan dalam Buat pipeline, tahapan, dan tindakan danEdit pipa di CodePipeline.
-
Buka terminal (Linux, macOS, atau Unix) atau command prompt (Windows) dan gunakan AWS CLI untuk menjalankan
update-pipeline
perintah, menentukan kondisi kegagalan dalam struktur pipa. Contoh berikut mengonfigurasi percobaan ulang otomatis untuk nama bertahap:S3Deploy
{ "name": "S3Deploy", "actions": [ { "name": "s3deployaction", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "static-website-bucket", "Extract": "false", "ObjectKey": "SampleApp.zip" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ], "onFailure": { "result": "RETRY", "retryConfiguration": { "retryMode": "ALL_ACTIONS", }, }
Konfigurasikan tahapan untuk coba ulang otomatis ()AWS CloudFormation
AWS CloudFormation Untuk menggunakan konfigurasi tahapan untuk percobaan ulang otomatis pada kegagalan, gunakan parameter siklus hidup OnFailure
tahap. Gunakan RetryConfiguration
parameter untuk mengkonfigurasi mode coba lagi.
OnFailure: Result: RETRY RetryConfiguration: RetryMode: ALL_ACTIONS
-
Perbarui template seperti yang ditunjukkan pada cuplikan berikut. Contoh berikut mengonfigurasi coba ulang otomatis untuk tahap bernama:
Release
AppPipeline: Type: AWS::CodePipeline::Pipeline Properties: RoleArn: Ref: CodePipelineServiceRole Stages: - Name: Source Actions: - Name: SourceAction ActionTypeId: Category: Source Owner: AWS Version: 1 Provider: S3 OutputArtifacts: - Name: SourceOutput Configuration: S3Bucket: Ref: SourceS3Bucket S3ObjectKey: Ref: SourceS3ObjectKey RunOrder: 1 - Name: Release Actions: - Name: ReleaseAction InputArtifacts: - Name: SourceOutput ActionTypeId: Category: Deploy Owner: AWS Version: 1 Provider: CodeDeploy Configuration: ApplicationName: Ref: ApplicationName DeploymentGroupName: Ref: DeploymentGroupName RunOrder: 1 OnFailure: Result: RETRY RetryConfiguration: RetryMode: ALL_ACTIONS ArtifactStore: Type: S3 Location: Ref: ArtifactStoreS3Location EncryptionKey: Id: arn:aws:kms:useast-1:ACCOUNT-ID:key/KEY-ID Type: KMS DisableInboundStageTransitions: - StageName: Release Reason: "Disabling the transition until integration tests are completed" Tags: - Key: Project Value: ProjectA - Key: IsContainerBased Value: 'true'
Untuk informasi selengkapnya tentang mengonfigurasi percobaan ulang tahap pada kegagalan, lihat OnFailure
StageDeclaration
di bawah AWS CloudFormation Panduan Pengguna.