Promptcloud menjelajahi Penyiapan Integrasi Gerrit dan Jenkins

Diterbitkan: 2017-01-20
Daftar Isi menunjukkan
Pengaturan Integrasi Menggunakan Gerrit dan Jenkins
Apa itu Gerrit?
Apa itu Jenkins dan Kegunaannya?
Alur kerja untuk Integrasi Berkelanjutan
1. Pemasangan Gerrit
2. Login Awal
3. Pembuatan Kunci SSH
4. Instalasi Jenkins
5. Mulai proses Jenkins

Pengaturan Integrasi Menggunakan Gerrit dan Jenkins

Kehidupan seorang pengembang bisa menjadi sedikit monoton dengan tugas-tugas yang berulang dan rumit. Untungnya, kami memiliki alat yang secara teratur dapat menangani tugas-tugas biasa tanpa pernah mengeluh setelah Anda mengaturnya. Saat Anda menambahkan otomatisasi ke pengujian dan penerapan, solusinya bisa disebut "integrasi berkelanjutan". Pengaturan seperti itu dapat secara otomatis menguji dan menyebarkan proyek, memberi Anda lebih banyak waktu untuk fokus menulis kode daripada mendorongnya ke server. Inilah cara Anda dapat melanjutkan dengan penyiapan integrasi berkelanjutan menggunakan Gerrit dan Jenkins . Pengaturan CI Menggunakan Gerrit dan Jenkins

Apa itu Gerrit?

Gerrit adalah sistem tinjauan kode sumber terbuka berbasis git yang memiliki antarmuka berbasis web yang memungkinkan Anda mendorong perubahan dari klien git, meninjau perubahan, dan menggabungkan otomatis dengan kode master. Setiap kali perubahan dibuat, set tambalan untuk hal yang sama dibuat. Gerrit memungkinkan perbandingan set patch yang berbeda. Ini juga memiliki opsi untuk menambahkan umpan balik atau ulasan pada baris tertentu, atau di seluruh tambalan. Peninjau dapat menilai perubahan dengan satu dari bawah: +2 – Terlihat bagus bagi saya, disetujui. +1 – Terlihat bagus bagi saya, tetapi orang lain harus menyetujuinya. 0 – Tidak ada skor. -1 – Saya lebih suka Anda tidak mengirimkan ini. -2 – Blokir pengiriman. Ulasan +2 menyiratkan bahwa kode dapat dikirimkan ke master secara default. Ini dapat dikonfigurasi sesuai kebutuhan.

Apa itu Jenkins dan Kegunaannya?

Jenkins adalah server build populer yang digunakan untuk integrasi berkelanjutan. Ini berbasis web dan memungkinkan otomatisasi proses pembangunan saat dan ketika perubahan terjadi. Jenkins dapat bekerja secara mandiri, bahkan tanpa Git atau Gerrit. Ini memiliki kait yang memungkinkan pemicu peristiwa, jadi ketika perubahan terjadi, build dibuat secara otomatis. Ketika Jenkins dan Gerrit digunakan bersama, build akan memiliki tanda berhasil/gagal untuk menunjukkan apakah mereka telah lulus tes. Jenkins akan menjalankan regresi uji setelah melakukan build. Setelah selesai, itu akan mempublikasikan hasil tes seperti salah satu pengulas. Jika build gagal, itu akan menolak tambalan. Anda dapat mengatur -1 atau -2 tergantung pada kualitas CI Anda jika terjadi kegagalan pengujian. Bersamaan dengan ini, peninjau kode lain juga dapat meninjau kode pada saat ini. Jika semua tinjauan telah lulus, kode dapat didorong ke repositori publik .

Alur kerja untuk Integrasi Berkelanjutan

  1. Pengembang memeriksa sumber dari Git
  2. Pengembang membuat perubahan yang diperlukan
  3. Pengembang mendorong perubahan ke Gerrit
  4. Gerrit mengirimkan pemberitahuan perubahan ke Jenkins untuk tes integrasi
  5. Jenkins menarik perubahan langsung dari server Gerrit git dan menjalankan semua kasus uji sesuai konfigurasi proyek kami
  6. Pengembang lain meninjau perubahan dan menyetujui (+2)
  7. Gerrit menggabungkan perubahan ke repositori git proyek master ketika Jenkins telah lulus build dan perubahan disetujui oleh pengembang lain

Pengaturan Integrasi Menggunakan Alur Kerja Gerrit dan Jenkins 1. Pemasangan Gerrit

  • Persyaratan: JRE, versi minimum 1.8.
  • Tautan untuk mengunduh paket perang tGerrit

Jika Anda memiliki MySQL, Anda dapat menggunakannya untuk database Gerrit. Buat pengguna dan database di MySQL untuk Gerrit.

mysql> BUAT PENGGUNA 'gerrit2'@'localhost' DIIDENTIFIKASI DENGAN 'rahasia';

mysql> CREATE DATABASE reviewdb;

mysql> GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';

mysql> HAK ISTIMEWA FLUSH;

Sekarang jalankan perintah di bawah ini untuk menginisialisasi situs.

 # java -jar gerrit.war init –batch -d ~/

Selama inisialisasi ini, layanan gerrit dimulai secara default. Jika Anda ingin membuat perubahan seperti database mysql, otentikasi login, server email kirim dan url httpd, Anda dapat mengedit file ~//etc/gerrit.config dan menambahkan ldap dan detail kata sandi database di ~//etc/secure .config file. Jika ada perubahan pengaturan yang dibuat, layanan gerrit harus dimulai ulang sebelum diterapkan.

 # ~//bin/gerrit.sh restart

Salin skrip ~//bin/gerrit.sh ke init.d dir sebagai gerrit dan tambahkan untuk memulai saat mesin boot.

2. Login Awal

Sekarang muat URL Gerrit Anda di browser. Anda dapat menemukan URL web Gerrit menggunakan perintah ini juga.

# git config -f ~//etc/gerrit.config gerrit.canonicalWebUrl

Sekarang Gunakan otentikasi login menggunakan metode yang telah Anda konfigurasikan pada file konfigurasi Gerrit untuk masuk ke antarmuka web Gerrit. Secara default, ini adalah OpenID. LDAP adalah salah satu metode otentikasi yang paling banyak digunakan.

Setelah Anda berhasil masuk ke Halaman Web Gerrit, Anda harus masuk ke mesin klien tempat Anda akan melakukan pengembangan. Anda harus membuat kunci RSA untuk sesi ssh Anda. Anda dapat melewati langkah pembuatan kunci jika Anda sudah memiliki file.

# ls -l ~/.ssh

config_authorized_keys id_rsa id_rsa.pub known_hosts

3. Pembuatan Kunci SSH

# ssh-keygen -t rsa

Membuat pasangan kunci rsa publik/swasta.

Masukkan file untuk menyimpan kunci (/home/user/.ssh/id_rsa):

Masukkan frasa sandi (kosongkan tanpa frasa sandi):

Masukkan frasa sandi yang sama lagi:

Identifikasi Anda telah disimpan di /home/user/.ssh/id_rsa.

Kunci publik Anda telah disimpan di /home/user/.ssh/id_rsa.pub.

Sidik jari kuncinya adalah:

SHA256:dMMVqsoLDf8T/d5Niob69oea3rkSLTBltiZ8s1lbdePengguna@localhost

Gambar randomart kuncinya adalah:

+—[RSA 2048]—-+

| o… |

| .+o . o|

| ..+=. E..|

| .=o=.. . |

| . SB * o |

| = .. * o |

| . = . = . .|

| . Hai. +o++.+ |

| . o*=*Aduh .|

+—-[SHA256]—–+

# cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwoWTT6S1pv2LP0l6r8305njSLtoupDCw8Df
GnaqW+ppfzNMtRJmAvCQpYuvE154EsGZC5csnRkUYAScOD3nri8NBsXMdD+m1mMyD
lA4ssMLhWHfstJGQ5aJ84NIR+zFK9o9QmDCVYU/
MYt2SZnmzi+Pdd4QbDwkisewmtun5rpy8vXWukKt9CHGTbv5lKyRVPF
LuQCynKbniZLV7aQD6gsVcZFG7Hj3ezBhDAZdBrCWLldy0S61DAmdH5C94xmlSuraq
HiX0pkLi4J67msvOUW6dBfeCP1VsMNz0j/
91LPlOMf5I2r1fRw1s/J1z/
UcsgBDyATwSKocNklkrd8+pp pengguna@localhost

  • Salin kunci publik di atas dan buka url web gerrit Anda
  • Periksa nama pengguna di sudut kanan halaman web dan klik pengguna Anda untuk menemukan tautan pengaturan
  • Di sisi kiri, Anda dapat menemukan "Kunci Publik SSH", klik di atasnya
  • Sekarang klik tombol "Tambah Kunci", rekatkan kunci publik ssh Anda dan Tambahkan itu

Pengaturan Integrasi Menggunakan Generator Kunci SSH Gerrit dan Jenkins Pengguna pertama yang masuk dan mendaftarkan akun akan secara otomatis ditempatkan ke Administrator dengan hak istimewa penuh. Sekarang Anda memiliki hak istimewa untuk membuat proyek. Klik Tab "Proyek" dan klik 'Buat Proyek Baru'. Sekarang Masukkan Nama proyek untuk memulai. pengaturan CI Ini dia, kloning proyek di sistem Anda dan mulai tambahkan kode pengembangan Anda. #ssh [email protected] -p 29418

**** Selamat datang di Tinjauan Kode Gerrit **** Hai selvam, Anda telah berhasil terhubung melalui SSH. Sayangnya, shell interaktif dinonaktifkan. Untuk mengkloning repositori Git yang dihosting, gunakan: git clone ssh://[email protected]:29418/REPOSITORY_NAME.git Koneksi ke 192.168.56.137 ditutup.

# git clone ssh: //[email protected] :29418/Gerrit_Test

4. Instalasi Jenkins

Anda dapat menginstal jenkins menggunakan paket apt-get atau deb.

  • sudo apt-get update
  • sudo apt-get install jenkins

Konfigurasi Jenkins ada di /etc/default/jenkins, tempat Anda dapat mengubah lokasi Java dan Java_ARGS. Secara default, jenkins berjalan pada 8080. Jika Anda menjalankan gerrit dan jenkins pada mesin yang sama, port default 8080 sudah ditempati oleh gerrit. Di sini Anda perlu mengubah port jenkins. Untuk mengubahnya, edit nilai HTTP_PORT untuk dijalankan pada port yang berbeda.

5. Mulai proses Jenkins

# /etc/init.d/jenkins start Buka browser Anda dan muat halaman jenkins dengan nama host dan nomor port jenkins Anda.

 https://:/

Jika Anda telah menginstal Jenkins 2.*, halaman web jenkins akan menanyakan initialAdminPassword. Anda dapat menemukan kata sandi di file /var/log/jenkins/jenkins.log. Lognya terlihat seperti di bawah ini:

Pengaturan awal Jenkins diperlukan. Pengguna admin telah dibuat dan kata sandi dibuat. Silakan gunakan kata sandi berikut untuk melanjutkan ke instalasi: f16b093akcnml397jcdoa239d6bafb9 Ini juga dapat ditemukan di: /var/lib/jenkins/secrets/initialAdminPassword
  • Sekarang buka Jenkins -> Manage Jenkins -> Plugin Manager untuk menginstal plugin git dan gerrit di jenkins
  • Klik tab 'Available' dan cari ' Git Plugin ' dan Klik 'Install Without restart'. Sekali lagi cari ' Gerrit Trigger' dan Klik "Install Without restart'. Terakhir, periksa apakah ada dalam daftar yang diinstal.

Pengaturan Integrasi Menggunakan Plugin Gerrit dan Jenkins Proses Jenkins dijalankan oleh pengguna jenkins. Jadi, kita perlu mengaktifkan akses untuk pengguna jenkins di gerrit.

  • Menggunakan metode otentikasi Anda, buat pengguna jenkins di gerrit
  • Sekarang buat ssh-keygen untuk pengguna jenkins seperti yang kita lakukan sebelumnya. Tapi kali ini, buat kunci dengan kata sandi kosong dan salin kunci publik untuk pengguna jenkins di gerrit
  • Sekarang klik 'Item Baru' untuk membuat pekerjaan baru dan tambahkan url git Anda di bagian Manajemen Kode Sumber/Git. Juga, pilih "acara Gerrit" di Pemicu Bangun dan masukkan Pola Proyek Gerrit.

Pengaturan Integrasi Menggunakan Acara Gerrit dan JenkinsAcara Integrasi CI Terakhir, Simpan konfigurasi. Sempurna, pengaturan Gerrit dan Jenkins Anda sekarang selesai.