Berbagi teknologi

GitLab CI/CD mewujudkan penerapan proyek otomatis

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1 Pengantar GitLab CI/CD

  • GitLab CI/CD adalah seperangkat alat integrasi berkelanjutan (Continuous Integration), pengiriman berkelanjutan (Continuous Delivery) dan penerapan berkelanjutan (Continuous Deployment) yang terintegrasi di GitLab untuk pengembangan perangkat lunak. Sistem ini memungkinkan tim pengembangan untuk mengotomatiskan proses pengiriman perangkat lunak, mulai dari mendeteksi, membangun, menguji, dan pada akhirnya menerapkan perubahan kode ke lingkungan produksi.

  • Integrasi Berkelanjutan (CI)

    • Setiap kali kode dimasukkan ke sistem kontrol versi (seperti gudang GitLab), sistem secara otomatis membuat dan mengujinya. Hal ini memastikan bahwa perubahan kode dengan cepat diintegrasikan ke dalam cabang master sementara kesalahan integrasi ditemukan dan diperbaiki.
  • Pengiriman Berkelanjutan (CD)

    • Membangun integrasi berkelanjutan, mengotomatiskan lebih lanjut pengiriman perubahan kode terverifikasi ke dalam lingkungan pra-produksi atau siap produksi. Tahap ini mungkin mencakup rangkaian pengujian yang lebih kompleks, pengujian kinerja, dll. untuk memastikan bahwa perangkat lunak siap untuk diterapkan ke produksi, namun penerapan sebenarnya mungkin memerlukan persetujuan manual.
  • Penerapan berkelanjutan (CD)

    • Berdasarkan pengiriman berkelanjutan, proses pengiriman sepenuhnya otomatis, dan kode yang lolos semua pengujian dapat diterapkan langsung ke lingkungan produksi tanpa intervensi manual. Artinya, setiap perubahan kode diuji dan menjangkau pengguna dengan cepat dan aman.

2 GitLab CI/CD dan Pelari GitLab

  • GitLab CI/CD adalah serangkaian layanan yang terintegrasi ke dalam platform GitLab yang mengelola proses pembuatan, pengujian, dan penerapan dalam siklus hidup pengembangan perangkat lunak. Bunyinya file konfigurasi .gitlab-ci.yml dalam proyek untuk menentukan berbagai tugas (Pekerjaan) dan proses (Pipelines) untuk mencapai tujuan integrasi berkelanjutan dan penerapan berkelanjutan.

  • GitLab Runner adalah pekerja sebenarnya atau mesin eksekusi yang mengimplementasikan proses CI/CD ini. Ini adalah program yang diterapkan secara terpisah yang dapat diinstal pada sistem operasi berbeda (seperti Linux, macOS, Windows) dan didaftarkan serta diikat ke instance GitLab. Setelah penerapan baru memicu proses GitLab CI/CD, GitLab akan menjadwalkan Runner yang terdaftar untuk menjalankan tugas yang ditentukan di .gitlab-ci.yml.

  • Sederhananya, GitLab CI/CD adalah perencana dan koordinator, yang bertanggung jawab untuk menentukan waktu dan cara melakukan tugas, sedangkan GitLab Runner adalah entitas yang secara khusus melakukan tugas tersebut. Runner dapat dibagikan (melayani beberapa proyek) atau didedikasikan (hanya melayani satu proyek), dan dapat dikonfigurasi dengan lingkungan eksekusi yang berbeda berdasarkan kebutuhan proyek (seperti menggunakan kontainer Docker untuk mengisolasi lingkungan build).

3 Pelari GitLab

3.1 Instalasi

  • Ambil Centos sebagai contoh
  • unduhan paket instalasi gitlab-runner, cari gitlab-runner di kolom Package, kamu bisa download versi ini el/7/x86_64/gitlab-runner-16.6.0-1.x86_64.rpm
  • Perintah instalasinya adalah sebagai berikut
  •   # 安装
      sudo rpm -ivh gitlab-runner-16.6.0-1.x86_64.rpm	
      # 查看是否安装成功
      gitlab-runner -h