Jenkins X - AWS Bimbingan Preskriptif

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

Jenkins X

Jenkins X adalah CI/CD platform cloud-native, open-source yang mengimplementasikan GitOps prinsip-prinsip untuk lingkungan Kubernetes. Meskipun Jenkins X tidak secara eksklusif GitOps alat seperti Argo CD atau Flux, Jenkins X menggabungkan GitOps praktik ke dalam alur kerjanya.

GitOps dukungan

Bidang Kemampuan alat

Alur kerja Git-sentris

Jenkins X menggunakan repositori Git sebagai sumber utama kebenaran untuk kode aplikasi dan konfigurasi. Semua perubahan pada aplikasi dan infrastruktur dilakukan melalui Git.

Lingkungan sebagai kode (eAC)

Lingkungan (seperti pementasan dan produksi) didefinisikan sebagai kode dalam repositori Git. Ini memungkinkan kontrol versi dan peninjauan konfigurasi lingkungan.

CI/CD Pipa otomatis

Jenkins X secara otomatis menyiapkan CI/CD saluran pipa untuk proyek. Pipeline ini didefinisikan sebagai kode (pipeline sebagai kode) dan disimpan dalam Git.

Kubernetes-asli

Jenkins X dibuat khusus untuk lingkungan Kubernetes. Ini menggunakan sumber daya Kubernetes dan definisi sumber daya kustom (). CRDs

Lingkungan pratinjau

Jenkins X secara otomatis membuat lingkungan sementara untuk permintaan tarik. Ini memungkinkan peninjauan dan pengujian perubahan yang mudah sebelum penggabungan.

Promosi antar lingkungan

Jenkins X menggunakan GitOps pendekatan untuk mempromosikan aplikasi antar lingkungan (misalnya, dari pementasan hingga produksi). Promosi ditangani dengan menggunakan permintaan tarik untuk memastikan proses peninjauan dan persetujuan yang tepat.

Manajemen bagan helm

Jenkins X menggunakan bagan Helm untuk mengemas dan menyebarkan aplikasi. Bagan dikendalikan versi di repositori Git.

Pembuatan versi otomatis

Jenkins X secara otomatis mengelola versi aplikasi dan rilis. Ini menggunakan versi semantik dan menghasilkan catatan rilis.

ChatOps integrasi

Jenkins X mendukung ChatOps operasi umum. Ini sejalan dengan GitOps prinsip-prinsip otomatisasi dan kolaborasi.

Ekstensibilitas

Alat ini menyediakan sistem plugin untuk memperluas fungsionalitas. Ini memungkinkan integrasi dengan berbagai alat cloud-native.

Infrastruktur sebagai kode (IAc)

Jenkins X mendukung Terraform,, CloudFormation AWS Cloud Development Kit (AWS CDK), dan alat IAc lainnya untuk mendefinisikan dan mengelola infrastruktur. Definisi infrastruktur dikendalikan versi bersama kode aplikasi.

Rollback otomatis

Jenkins X mendukung rollback otomatis jika masalah terdeteksi setelah penerapan.

Manajemen rahasia

Alat ini terintegrasi dengan solusi manajemen rahasia eksternal untuk menangani informasi sensitif dengan aman.

Observabilitas

Jenkins X menyediakan integrasi dengan alat pemantauan dan pencatatan untuk observabilitas.

Dukungan multi-cloud

Jenkins X dirancang untuk bekerja di berbagai penyedia cloud dan lingkungan lokal.

Kolaborasi tim

Alat ini mendorong kolaborasi melalui alur kerja berbasis Git dan permintaan tarik.

Umpan balik berkelanjutan

Alat ini memberikan umpan balik cepat tentang perubahan melalui pengujian otomatis dan lingkungan pratinjau.

DevOps praktik terbaik

Jenkins X menerapkan praktik DevOps terbaik secara default, termasuk GitOps prinsip.

Konfigurasi deklaratif

Alat ini menggunakan konfigurasi deklaratif untuk mendefinisikan aplikasi dan lingkungan.

Pemutakhiran otomatis

Jenkins X menyediakan alat untuk mengotomatiskan peningkatan platform Jenkins X itu sendiri.

Jenkins X menerapkan GitOps prinsip-prinsip ini untuk menciptakan solusi CI/CD yang komprehensif untuk Kubernetes. Ini bertujuan untuk mengotomatiskan dan merampingkan seluruh proses pengiriman perangkat lunak, dari komit kode hingga penyebaran produksi, sambil mengikuti praktik. GitOps Dengan demikian, ini membantu tim mencapai penerapan yang lebih cepat, lebih andal, dan lebih konsisten di lingkungan cloud-native.

Perbedaan utama antara Jenkins X dan alat-alat seperti Argo CD atau Flux adalah bahwa Jenkins X memberikan CI/CD solusi yang lebih komprehensif, termasuk otomatisasi build dan manajemen pipa, sambil tetap menggabungkan GitOps prinsip-prinsip untuk penerapan dan manajemen lingkungan. Ini membuatnya sangat cocok untuk tim yang membutuhkan all-in-one solusi yang mencakup aspek CI dan CD dalam satu GitOps kerangka kerja.

Untuk informasi lebih lanjut, lihat dokumentasi Jenkins X.

Arsitektur

Diagram berikut menggambarkan alur kerja CD GitOps -driven yang menggunakan Jenkins X. Untuk informasi rinci, lihat dokumentasi Jenkins X.

Arsitektur dan alur kerja Jenkins X aktif. AWS

di mana:

  • Langkah 1: Tarik permintaan (PR) bergabung. Pengembang membuat permintaan tarik yang mencakup perubahan pada manifes Kubernetes, bagan Helm, atau kode aplikasi yang disimpan dalam repositori Git. Setelah peninjauan dan persetujuan, PR digabungkan ke cabang utama dan memperbarui status yang diinginkan dalam kontrol sumber.

  • Langkah 2: Sinkronisasi repositori. Jenkins X secara otomatis memicu CI/CD pipeline ketika mendeteksi perubahan. Pipeline membangun, menguji, dan mempromosikan aplikasi melalui lingkungan yang berbeda (misalnya, pementasan dan produksi) dengan menggunakan GitOps prinsip.

  • Langkah 3: Penerapan untuk menargetkan ruang nama. Jenkins X memperbarui repositori lingkungan (pementasan dan produksi) dengan versi aplikasi baru. Cluster secara otomatis merekonsiliasi perubahan dengan menarik manifes terbaru dari Git dan menerapkan aplikasi ke ruang nama yang sesuai.