Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
GitLab CI/CD
GitLab CI/CD is an integrated part of the GitLab platform that provides continuous integration, delivery, and deployment capabilities. Although GitLab CI/CDbukan hanya GitOps alat, Anda dapat mengonfigurasinya untuk mengimplementasikan GitOps prinsip, terutama ketika Anda menggunakannya untuk penerapan Kubernetes.
GitOps dukungan
| Bidang | Kemampuan alat |
|---|---|
Git sebagai satu-satunya sumber kebenaran |
GitLab CI/CD menggunakan repositori Git untuk menyimpan kode aplikasi dan konfigurasi infrastruktur. Semua perubahan pada sistem dilakukan melalui Git, yang memastikan riwayat lengkap dan jejak audit. |
Konfigurasi deklaratif |
GitLab Pipeline CI/CD didefinisikan dalam file.gitlab-ci.yl, yang merupakan konfigurasi deklaratif yang disimpan dalam repositori Git. File manifes Kubernetes, bagan Helm, atau file infrastruktur lainnya sebagai kode (IAc) dapat disimpan dalam repositori yang sama untuk menentukan status infrastruktur yang diinginkan. |
Pipa otomatis |
GitLab CI/CD secara otomatis memicu pipeline ketika perubahan didorong ke repositori. Pipa ini dapat mencakup tahapan untuk membangun, menguji, dan menyebarkan aplikasi. |
Integrasi Kubernetes |
GitLab CI/CD menyediakan integrasi Kubernetes asli dan mendukung penerapan GitOps -style ke klaster Kubernetes. Ini dapat secara otomatis membuat dan mengelola sumber daya Kubernetes berdasarkan konfigurasi di Git. |
Pengelolaan lingkungan |
GitLab CI/CD mendukung definisi beberapa lingkungan (seperti pementasan dan produksi) sebagai kode. Penerapan ke lingkungan ini dapat diotomatisasi atau mungkin memerlukan persetujuan manual, sesuai dengan GitOps praktik. |
Tinjau aplikasi |
GitLab dapat secara otomatis membuat lingkungan sementara untuk permintaan gabungan, mirip dengan lingkungan pratinjau di GitOps alat lain. Ini mendukung peninjauan dan pengujian perubahan yang mudah sebelum penggabungan. |
Deployment berkelanjutan |
GitLab CI/CD dapat dikonfigurasi untuk secara otomatis menerapkan perubahan pada klaster Kubernetes ketika perubahan digabungkan ke cabang tertentu. |
IAc |
GitLab CI/CD mendukung integrasi dengan alat-alat seperti Terraform dan CloudFormation untuk mengelola infrastruktur sebagai kode. Definisi infrastruktur dapat dikontrol versi bersama kode aplikasi. |
Observabilitas dan pemantauan |
GitLab CI/CD menyediakan fitur pemantauan dan observabilitas bawaan, termasuk integrasi dengan Prometheus dan Grafana. |
Pemindaian keamanan |
GitLab CI/CD includes built-in security scanning tools that can be integrated into the CI/CDpipeline untuk menegakkan keamanan sebagai bagian dari GitOps alur kerja. |
Registri kontainer |
GitLab CI/CD menyertakan registri kontainer bawaan untuk integrasi manajemen gambar kontainer yang mulus dalam alur kerja. GitOps |
Otomatis DevOps |
DevOps Fitur Auto di GitLab CI/CD can automatically configure CI/CD pipeline yang mengikuti GitOps prinsip penerapan Kubernetes. |
Alur kerja persetujuan |
GitLab CI/CD mendukung proses persetujuan untuk penerapan, yang menyediakan promosi terkontrol antar lingkungan. |
Manajemen rahasia |
GitLab CI/CD provides features to securely manage and use secrets within CI/CDjaringan pipa. |
Pembuatan versi dan rilis |
GitLab CI/CD supports automatic versioning and release management as part of the CI/CDproses. |
Rollback |
GitLab CI/CD memungkinkan rollback mudah ke versi sebelumnya jika masalah terdeteksi setelah penerapan. |
Log audit |
GitLab CI/CD menyediakan log audit komprehensif untuk semua tindakan untuk mendukung aspek keterlacakan. GitOps |
Jaringan pipa multi-proyek |
GitLab CI/CD mendukung GitOps alur kerja kompleks yang mencakup beberapa proyek atau repositori. |
ChatOps |
GitLab CI/CD mendukung ChatOps integrasi, yang menyediakan kolaborasi dan operasi melalui antarmuka obrolan. |
Manajemen klaster Kubernetes |
GitLab CI/CD menyediakan fitur untuk mengelola cluster Kubernetes langsung dari antarmuka. GitLab |
Meskipun GitLab CI/CD is not exclusively designed for GitOps, it can be used effectively to implement GitOps practices, especially for teams that already use GitLab as their primary development platform. Its integrated approach, which combines source control, CI/CD, dan manajemen Kubernetes, menjadikannya alat yang ampuh untuk mengimplementasikan alur kerja. GitOps
Perbedaan utama antara GitLab CI/CD and dedicated GitOps tools such as Argo CD or Flux is that GitLab provides a more comprehensive platform that includes source control management, issue tracking, and other development tools along with its CI/CD kemampuan. Ini membuatnya sangat cocok untuk tim yang membutuhkan all-in-one solusi yang dapat menerapkan GitOps praktik dalam sistem pengembangan yang lebih luas.
Untuk informasi lebih lanjut tentang GitLab CI/CD dan arsitekturnya, lihat dokumentasi GitLab CI/CD