View a markdown version of this page

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

Pemodelan dan konfigurasi proses rilis otomatis Anda lebih mudah jika Anda memahami konsep dan istilah yang digunakan di dalamnya AWS CodePipeline. Berikut adalah beberapa konsep yang perlu diketahui saat Anda menggunakannya CodePipeline.

Untuk contoh DevOps pipa, lihatDevOps contoh pipa.

Istilah-istilah berikut digunakan dalam CodePipeline:

Jalur

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

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

Trans isi adalah titik di mana eksekusi pipeline bergerak ke tahap berikutnya dalam pipeline. Anda dapat menonaktifkan transisi masuk tahap untuk mencegah eksekusi memasuki tahap tersebut, dan kemudian Anda dapat mengaktifkan transisi untuk mengizinkan 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

T ind akan adalah serangkaian operasi yang dilakukan pada kode aplikasi dan dikonfigurasi sehingga tindakan berjalan dalam 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 menerapkan kode ke layanan komputasi seperti Amazon EC2 atau. 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 suatu tahap, lihat runOrder informasi dalam persyaratan struktur tindakan.

Eksekusi pipa

Ek sekusi adalah serangkaian perubahan yang dirilis oleh pipeline. Setiap eksekusi pipeline adalah 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, tahap dikunci saat memproses eksekusi. Dua eksekusi pipeline tidak dapat menempati tahap yang sama pada saat yang sama. Eksekusi yang menunggu untuk memasuki tahap yang diduduki adalah eksekusi inbound. Eksekusi inbound masih bisa gagal, digantikan, atau dihentikan secara manual. Untuk informasi selengkapnya tentang cara kerja eksekusi inbound, lihat. Cara Kerja Eksekusi Inbound

Eksekusi pipa melintasi tahapan pipa secara berurutan. Status yang valid untuk pipeline adalahInProgress,,Stopping,Stopped, SucceededSuperseded, danFailed.

Untuk informasi selengkapnya, 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 menunjukkan Stopped status. Ek Stopped sekusi pipeline dapat dicoba lagi.

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 pipeline dihentikan.

Eksekusi yang gagal

Jika eksekusi gagal, itu berhenti dan tidak sepenuhnya melintasi pipa. Statusnya berubah FAILED dan CodePipeline membuka panggung. Eksekusi yang lebih baru dapat mengejar ketinggalan dan memasuki tahap yang tidak terkunci dan menguncinya. Anda dapat mencoba lagi 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 Pelaksanaan

Untuk memberikan serangkaian perubahan terbaru melalui pipeline, eksekusi yang lebih baru melewati dan menggantikan eksekusi yang kurang baru yang sudah berjalan melalui pipeline. 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 di antara tahapan. SUPERSEDED adalah mode eksekusi default.

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

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

Operasi panggung

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

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

Eksekusi tindakan

Ek sekusi 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 mengkompilasi 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 selengkapnya, lihat ActionExecution.

Jenis eksekusi

Sebuah pipeline atau eksekusi tahap dapat berupa eksekusi standar atau rollled-back.

Untuk tipe standar, eksekusi memiliki ID unik dan merupakan proses pipeline penuh. Rollback pipeline memiliki tahap untuk diputar kembali dan eksekusi yang sukses untuk tahap sebagai eksekusi target yang akan diputar 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 jenis tindakan di CodePipeline, lihatReferensi model integrasi.

Untuk informasi tentang cara penyedia pihak ketiga dapat mengatur dan mengelola jenis tindakan di CodePipeline, lihatBekerja dengan jenis 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 dihasilkan oleh beberapa tindakan dan dikonsumsi oleh yang lain. Dalam pipeline, artefak dapat berupa kumpulan file yang dikerjakan oleh 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. Sebuah 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 Memulai pipeline dengan penggantian revisi sumber.

Pemicu

Pemicu adalah peristiwa yang memulai pipeline Anda. Beberapa pemicu, seperti memulai pipeline secara manual, tersedia untuk semua penyedia tindakan sumber dalam pipeline. Pemicu tertentu bergantung pada penyedia sumber untuk pipeline. Misalnya, CloudWatch peristiwa harus dikonfigurasi dengan sumber daya peristiwa dari Amazon CloudWatch yang memiliki ARN pipeline ditambahkan sebagai target dalam aturan acara. Amazon CloudWatch Events adalah pemicu yang disarankan untuk deteksi perubahan otomatis untuk pipeline 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 seperti GitHub.com, GitHub Enterprise Server, GitLab mandiri GitLab.com, atau 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 memfilter peristiwa permintaan tarik pada peristiwa (dibuka, diperbarui, ditutup), cabang, atau jalur file.

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

penting

Pipeline yang tidak aktif selama lebih dari 30 hari akan menonaktifkan polling untuk pipeline. Untuk informasi selengkapnya, lihat polling DisabledAt dalam referensi struktur pipa. Untuk langkah-langkah untuk memigrasikan pipeline Anda dari polling ke deteksi perubahan berbasis peristiwa, lihat Metode Deteksi Perubahan.

Variabel

Variabel adalah nilai yang dapat digunakan untuk mengkonfigurasi tindakan secara dinamis dalam pipeline Anda. Variabel dapat dideklarasikan pada tingkat pipeline, atau dipancarkan oleh tindakan dalam pipeline. 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 mengganti mereka untuk eksekusi tertentu. Untuk variabel yang dipancarkan oleh tindakan, nilai 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 kegagalan tahap, terlibat. Kondisi juga disebut sebagai gerbang karena memungkinkan Anda untuk menentukan kapan eksekusi akan masuk dan berjalan melalui tahap atau keluar dari tahap setelah berjalan melewatinya. Ini analog dengan memungkinkan jalur lalu lintas di jalan raya berkumpul di gerbang tertutup, dan kemudian menentukan pembukaan gerbang untuk memungkinkan aliran lalu lintas ke suatu daerah. Hasil untuk jenis kondisi termasuk gagal pada tahap 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 masuklah ke panggung.” Panggung dikunci ketika eksekusi memasuki panggung, dan kemudian aturan dijalankan. Untuk kondisi On Failure, aturan berlaku ketika tahap gagal, dengan hasil memutar kembali tahap yang gagal. Untuk kondisi On Success, aturan aktif ketika tahap berhasil, seperti memeriksa alarm yang berhasil dijalankan sebelum melanjutkan. Misalnya, kondisi On Success akan menghasilkan rollback tahap yang berhasil jika CloudWatchAlarm aturan menemukan bahwa ada alarm di lingkungan penerapan. Untuk informasi selengkapnya, lihat Bagaimana kondisi panggung bekerja?.

Aturan

Kondisi menggunakan satu atau beberapa aturan pradikonfigurasi 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. Lihat informasi yang lebih lengkap di Bagaimana kondisi panggung bekerja?.