Coba lagi tindakan yang gagal dalam satu tahap - AWS CodePipeline

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

Coba lagi tindakan yang gagal dalam satu tahap

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.

Coba lagi tindakan yang gagal (konsol)

Untuk mencoba lagi tahap yang gagal atau tindakan yang gagal dalam tahap - konsol
  1. 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.

  2. Di Nama, pilih nama pipa.

  3. 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.

    
                Contoh pipeline dengan tahap  CodeCommit  sumber dan tahap  CodeDeploy  penerapan yang gagal

    Jika semua tindakan yang dicoba ulang di tahap selesai dengan sukses, pipa terus berjalan.

Coba lagi tindakan yang gagal (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.

  1. 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" }
  2. Anda juga dapat menjalankan perintah dengan file input JSON. Pertama-tama Anda membuat file JSON yang mengidentifikasi pipeline, tahapan yang berisi tindakan gagal, dan eksekusi pipeline terbaru di tahap itu. Anda kemudian menjalankan retry-stage-execution perintah dengan --cli-input-json parameter. Untuk mengambil detail yang Anda butuhkan untuk file JSON, paling mudah untuk menggunakan perintah. get-pipeline-state

    1. 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" } } ] }
    2. Dalam editor teks biasa, buat file tempat Anda akan merekam yang berikut ini, dalam format JSON:

      • Nama pipa yang berisi tindakan yang 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" }
    3. Simpan file dengan nama sepertiretry-failed-actions.json.

    4. Panggil file yang Anda buat saat menjalankan retry-stage-executionperintah. Misalnya:

      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
    5. 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.