CodePipeline konsep - AWS CodePipeline

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

CodePipeline konsep

Memodelkan dan mengonfigurasi proses rilis otomatis Anda lebih mudah jika Anda memahami konsep dan istilah yang digunakan. AWS CodePipeline Berikut adalah beberapa konsep yang perlu diketahui saat Anda menggunakan CodePipeline.

Untuk contoh DevOps pipa, lihatDevOps contoh pipa.

Istilah-istilah berikut digunakan dalam CodePipeline:

Alur

Pipeline adalah konstruksi alur kerja yang menjelaskan bagaimana perubahan perangkat lunak melalui proses rilis. Setiap pipa terdiri dari serangkaian tahapan.

Tahapan

Tahap adalah unit logis yang dapat Anda gunakan untuk mengisolasi lingkungan dan membatasi jumlah perubahan bersamaan di lingkungan itu. Setiap tahap berisi tindakan yang dilakukan pada artefak aplikasi. Kode sumber Anda adalah contoh artefak. Sebuah tahap mungkin merupakan tahap build, di mana kode sumber dibangun dan pengujian dijalankan. Ini juga bisa menjadi tahap penerapan, di mana kode diterapkan ke lingkungan runtime. Setiap tahap terdiri dari serangkaian tindakan serial atau paralel.

Transisi

Transisi adalah titik di mana eksekusi pipa bergerak ke tahap berikutnya dalam pipa. Anda dapat menonaktifkan transisi masuk tahap untuk mencegah eksekusi memasuki tahap itu, dan kemudian Anda dapat mengaktifkan transisi untuk memungkinkan eksekusi berlanjut. Ketika lebih dari satu eksekusi tiba pada transisi yang dinonaktifkan, hanya eksekusi terbaru yang berlanjut ke tahap berikutnya ketika transisi diaktifkan. Ini berarti bahwa eksekusi yang lebih baru terus menggantikan eksekusi menunggu saat transisi dinonaktifkan, dan kemudian setelah transisi diaktifkan, eksekusi yang berlanjut adalah eksekusi pengganti.

Pipeline berisi tahapan, yang berisi tindakan, yang dipisahkan oleh transisi yang dapat dinonaktifkan dan diaktifkan.

Tindakan

Tindakan adalah serangkaian operasi yang dilakukan pada kode aplikasi dan dikonfigurasi sehingga tindakan berjalan di pipeline pada titik tertentu. Ini dapat mencakup hal-hal seperti tindakan sumber dari perubahan kode, tindakan untuk menerapkan aplikasi ke instance, dan sebagainya. Misalnya, tahap penerapan mungkin berisi tindakan penerapan yang menyebarkan kode ke layanan komputasi seperti Amazon atau. EC2 AWS Lambda

Jenis CodePipeline tindakan yang valid adalahsource,build,test,deploy,approval, daninvoke. Untuk daftar penyedia tindakan, lihatPenyedia tindakan yang valid di CodePipeline .

Tindakan dapat berjalan secara seri atau paralel. Untuk informasi tentang tindakan serial dan paralel dalam satu tahap, lihat runOrder informasi dalam persyaratan struktur tindakan.

Eksekusi saluran pipa

Eksekusi adalah serangkaian perubahan yang dirilis oleh pipeline. Setiap eksekusi pipeline unik dan memiliki ID sendiri. Eksekusi sesuai dengan serangkaian perubahan, seperti komit gabungan atau rilis manual dari komit terbaru. Dua eksekusi dapat melepaskan serangkaian perubahan yang sama pada waktu yang berbeda.

Sementara pipeline dapat memproses beberapa eksekusi pada saat yang sama, tahap pipeline hanya memproses satu eksekusi pada satu waktu. Untuk melakukan ini, sebuah panggung dikunci saat memproses eksekusi. Dua eksekusi pipa tidak dapat menempati tahap yang sama pada saat yang sama. Eksekusi yang menunggu untuk memasuki tahap yang diduduki disebut eksekusi masuk. Eksekusi inbound masih bisa gagal, digantikan, atau dihentikan secara manual. Untuk informasi selengkapnya tentang cara kerja eksekusi masuk, lihat. Bagaimana Eksekusi Inbound Bekerja

Eksekusi pipa melintasi tahapan pipa secara berurutan. Status yang valid untuk jaringan pipa adalahInProgress,,Stopping,, Stopped SucceededSuperseded, dan. Failed

Untuk informasi lebih lanjut, lihat PipelineExecution.

Menghentikan eksekusi

Eksekusi pipeline dapat dihentikan secara manual sehingga eksekusi pipeline yang sedang berlangsung tidak berlanjut melalui pipeline. Jika dihentikan secara manual, eksekusi pipeline menunjukkan Stopping status sampai benar-benar berhenti. Kemudian itu menunjukkan Stopped status. Eksekusi Stopped pipeline dapat dicoba ulang.

Ada dua cara untuk menghentikan eksekusi pipeline:

  • Berhenti dan tunggu

  • Berhenti dan tinggalkan

Untuk informasi tentang kasus penggunaan untuk menghentikan eksekusi dan detail urutan untuk opsi ini, lihatBagaimana eksekusi pipa dihentikan.

Eksekusi gagal

Jika eksekusi gagal, itu berhenti dan tidak sepenuhnya melintasi pipa. Statusnya adalah FAILED status dan panggung tidak terkunci. Eksekusi yang lebih baru dapat mengejar dan memasuki tahap yang tidak terkunci dan menguncinya. Anda dapat mencoba kembali eksekusi yang gagal kecuali eksekusi yang gagal telah digantikan atau tidak dapat dicoba ulang. Anda dapat memutar kembali tahap yang gagal ke eksekusi yang berhasil sebelumnya.

Mode eksekusi

Untuk memberikan serangkaian perubahan terbaru melalui pipeline, eksekusi yang lebih baru melewati dan menggantikan eksekusi yang kurang baru yang sudah berjalan melalui pipa. Ketika ini terjadi, eksekusi yang lebih lama digantikan oleh eksekusi yang lebih baru. Eksekusi dapat digantikan oleh eksekusi yang lebih baru pada titik tertentu, yang merupakan titik antar tahapan. SUPERSEDEDadalah mode eksekusi default.

Dalam SUPERSEDED mode, jika eksekusi menunggu untuk memasuki tahap terkunci, eksekusi yang lebih baru mungkin mengejar dan menggantikannya. Eksekusi yang lebih baru sekarang menunggu panggung dibuka, dan eksekusi yang digantikan berhenti dengan status. SUPERSEDED Ketika eksekusi pipeline digantikan, eksekusi dihentikan dan tidak sepenuhnya melintasi pipa. Anda tidak dapat lagi mencoba lagi eksekusi yang digantikan setelah diganti pada tahap ini. Mode eksekusi lain yang tersedia adalah PARALLEL atau QUEUED mode.

Untuk informasi selengkapnya tentang mode eksekusi dan tahapan terkunci, lihatBagaimana eksekusi diproses dalam mode SUPERSEDED.

Operasi panggung

Ketika eksekusi pipeline berjalan melalui suatu tahap, tahapannya sedang dalam proses menyelesaikan semua tindakan di dalamnya. Untuk informasi tentang cara kerja operasi tahapan dan informasi tentang tahapan terkunci, lihatBagaimana eksekusi diproses dalam mode SUPERSEDED.

Status yang valid untuk tahapan adalahInProgress,Stopping,, StoppedSucceeded, danFailed. Anda dapat mencoba lagi tahap yang gagal kecuali tahap yang gagal tidak dapat dicoba kembali. Untuk informasi lebih lanjut, lihat StageExecution. Anda dapat memutar kembali tahap ke eksekusi sukses sebelumnya yang ditentukan. Sebuah panggung dapat dikonfigurasi untuk memutar kembali secara otomatis pada kegagalan seperti yang dijelaskan dalamMengkonfigurasi rollback panggung. Untuk informasi lebih lanjut, lihat RollbackStage.

Eksekusi aksi

Eksekusi tindakan adalah proses menyelesaikan tindakan yang dikonfigurasi yang beroperasi pada artefak yang ditunjuk. Ini bisa berupa artefak input, artefak keluaran, atau keduanya. Misalnya, tindakan build mungkin menjalankan perintah build pada artefak input, seperti mengompilasi kode sumber aplikasi. Detail eksekusi tindakan mencakup ID eksekusi tindakan, pemicu sumber eksekusi pipeline terkait, dan artefak input dan output untuk tindakan tersebut.

Status yang valid untuk tindakan adalahInProgress,, AbandonedSucceeded, atauFailed. Untuk informasi lebih lanjut, lihat ActionExecution.

Jenis eksekusi

Pipeline atau eksekusi tahap dapat berupa eksekusi standar atau rolled-back.

Untuk tipe standar, eksekusi memiliki ID unik dan merupakan jalur pipa penuh. Rollback pipeline memiliki tahap untuk digulung kembali dan eksekusi yang berhasil untuk tahap sebagai eksekusi target untuk memutar kembali. Eksekusi pipeline target digunakan untuk mengambil revisi sumber dan variabel untuk tahap yang akan dijalankan kembali.

Jenis tindakan

Jenis tindakan adalah tindakan yang telah dikonfigurasi sebelumnya yang tersedia untuk dipilih. CodePipeline Jenis tindakan ditentukan oleh pemilik, penyedia, versi, dan kategorinya. Jenis tindakan menyediakan parameter khusus yang digunakan untuk menyelesaikan tugas tindakan dalam pipeline.

Untuk informasi tentang produk Layanan AWS dan layanan pihak ketiga yang dapat Anda integrasikan ke dalam pipeline berdasarkan jenis tindakan, lihatIntegrasi dengan tipe CodePipeline tindakan.

Untuk informasi tentang model integrasi yang didukung untuk tipe tindakan CodePipeline, lihatReferensi model integrasi.

Untuk informasi tentang cara penyedia pihak ketiga dapat mengatur dan mengelola jenis tindakan CodePipeline, lihatBekerja dengan tipe tindakan.

Artifacts

Artefak mengacu pada pengumpulan data, seperti kode sumber aplikasi, aplikasi yang dibangun, dependensi, file definisi, templat, dan sebagainya, yang dikerjakan oleh tindakan pipeline. Artefak diproduksi oleh beberapa tindakan dan dikonsumsi oleh orang lain. Dalam sebuah pipeline, artefak dapat berupa kumpulan file yang dikerjakan oleh suatu tindakan (artefak input) atau output yang diperbarui dari tindakan yang diselesaikan (artefak keluaran).

Tindakan meneruskan output ke tindakan lain untuk diproses lebih lanjut menggunakan bucket artefak pipa. CodePipeline menyalin artefak ke toko artefak, tempat aksi mengambilnya. Untuk informasi lebih lanjut tentang artifact, lihat Artefak input dan output.

Revisi sumber

Ketika Anda membuat perubahan kode sumber, versi baru dibuat. Revisi sumber adalah versi perubahan sumber yang memicu eksekusi pipeline. Eksekusi memproses revisi sumber. Untuk GitHub dan CodeCommit repositori, ini adalah komit. Untuk bucket atau tindakan S3, ini adalah versi objek.

Anda dapat memulai eksekusi pipeline dengan revisi sumber, seperti komit, yang Anda tentukan. Eksekusi akan memproses revisi yang ditentukan dan mengganti apa yang akan menjadi revisi yang digunakan untuk eksekusi. Untuk informasi selengkapnya, lihat Mulai pipeline dengan penggantian revisi sumber.

Pemicu

Pemicu adalah peristiwa yang memulai pipeline Anda. Beberapa pemicu, seperti memulai pipeline secara manual, tersedia untuk semua penyedia aksi sumber dalam pipeline. Pemicu tertentu bergantung pada penyedia sumber untuk pipa. Misalnya, CloudWatch peristiwa harus dikonfigurasi dengan sumber daya peristiwa dari Amazon CloudWatch yang memiliki pipeline ARN ditambahkan sebagai target dalam aturan peristiwa. Amazon CloudWatch Events adalah pemicu yang disarankan untuk deteksi perubahan otomatis untuk saluran pipa dengan tindakan sumber CodeCommit atau S3. Webhook adalah jenis pemicu yang dikonfigurasi untuk peristiwa repositori pihak ketiga. Misalnya, WebHookv2 adalah tipe pemicu yang memungkinkan tag Git digunakan untuk memulai pipeline dengan penyedia sumber pihak ketiga GitHub seperti.com, GitHub Enterprise Server, .com, GitLab self-managed, atau GitLab Bitbucket Cloud. Dalam konfigurasi pipeline, Anda dapat menentukan filter untuk pemicu, seperti permintaan push atau pull. Anda dapat memfilter peristiwa push kode pada tag Git, cabang, atau jalur file. Anda dapat mengisi peristiwa permintaan tarik pada acara (dibuka, diperbarui, ditutup), cabang, atau jalur fille.

Untuk informasi lebih lanjut tentang menggunakan pemicu, lihat Mulai pipa di CodePipeline. Untuk tutorial yang memandu Anda menggunakan tag Git sebagai pemicu pipeline Anda, lihatTutorial: Gunakan tag Git untuk memulai pipeline Anda.

Variabel

Variabel adalah nilai yang dapat digunakan untuk mengonfigurasi tindakan secara dinamis di pipeline Anda. Variabel dapat dideklarasikan pada tingkat pipa, atau dipancarkan oleh tindakan dalam pipa. Nilai variabel diselesaikan pada saat eksekusi pipeline dan dapat dilihat dalam riwayat eksekusi. Untuk variabel yang dideklarasikan pada tingkat pipeline, Anda dapat menentukan nilai default dalam konfigurasi pipeline, atau menggantinya untuk eksekusi tertentu. Untuk variabel yang dipancarkan oleh suatu tindakan, nilainya tersedia setelah tindakan berhasil diselesaikan. Untuk informasi selengkapnya, lihat Referensi variabel.

Ketentuan

Suatu kondisi berisi seperangkat aturan yang dievaluasi. Jika semua aturan dalam suatu kondisi berhasil, maka kondisinya terpenuhi. Anda dapat mengonfigurasi kondisi sehingga ketika kriteria tidak terpenuhi, hasil yang ditentukan, seperti gagal tahap, terlibat. Kondisi juga disebut sebagai gerbang karena memungkinkan Anda untuk menentukan kapan eksekusi akan masuk dan berjalan melalui tahap atau keluar dari panggung setelah menjalankannya. Ini analog dengan memungkinkan garis lalu lintas di jalan berkumpul di gerbang tertutup, dan kemudian menentukan pembukaan gerbang untuk memungkinkan arus lalu lintas ke suatu daerah. Hasil untuk jenis kondisi termasuk gagal panggung atau memutar kembali panggung. Kondisi membantu Anda menentukan kapan tindakan ini terjadi dalam tahap pipeline. Anda dapat mengganti kondisi saat runtime.

Ada tiga jenis kondisi. Kondisi masuk menjawab pertanyaan “Jika aturan untuk kondisi terpenuhi, maka masuki panggung.” Panggung terkunci ketika eksekusi memasuki panggung, dan kemudian aturan dijalankan. Untuk kondisi On Failure, aturan berlaku ketika sebuah tahap gagal, dengan hasil memutar kembali tahap yang gagal. Untuk kondisi On Success, aturan berlaku ketika sebuah tahap berhasil, seperti memeriksa alarm yang berhasil dijalankan sebelum melanjutkan. Misalnya, kondisi On Success akan menghasilkan rollback dari tahap yang berhasil jika CloudWatchAlarm aturan menemukan bahwa ada alarm di lingkungan penyebaran. Untuk informasi selengkapnya, lihat Bagaimana kondisi panggung bekerja?.

Aturan

Ketentuan menggunakan satu atau beberapa aturan yang telah dikonfigurasi sebelumnya yang menjalankan dan melakukan pemeriksaan yang kemudian akan melibatkan hasil yang dikonfigurasi ketika kondisi tidak terpenuhi. Misalnya, memenuhi semua aturan untuk aturan kondisi Entri yang memeriksa status alarm dan waktu jendela penerapan akan menerapkan tahap yang berhasil setelah semua pemeriksaan lulus. Untuk informasi selengkapnya, lihat Bagaimana kondisi panggung bekerja?.