GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 18.04

Jenkins adalah server otomatisasi bercabang dari proyek Hudson. Jenkins adalah aplikasi berbasis server yang berjalan dalam wadah servlet Java, ia memiliki dukungan untuk banyak sistem perangkat lunak SCM (Source Control Management) termasuk Git, SVN, dan Mercurial. Jenkins menyediakan ratusan plugin untuk mengotomatisasi proyek Anda. Jenkins dibuat oleh Kohsuke Kawaguchi, pertama kali dirilis pada 2011 di bawah Lisensi MIT, dan merupakan perangkat lunak gratis.

Dalam tutorial ini, saya akan menunjukkan cara menginstal Jenkins versi stabil terbaru di Ubuntu Server 18.04 LTS (Bionic Beaver). Kami akan menjalankan Jenkins pada nama domain kami sendiri, dan kami akan menginstal dan mengonfigurasi Jenkins untuk dijalankan di bawah proxy terbalik server web Apache.

Prasyarat

  • Ubuntu 18.04
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Instal Java
  2. Instal Jenkins
  3. Instal dan Konfigurasi Apache2 sebagai Proxy Terbalik untuk Jenkins
  4. Konfigurasikan Firewall UFW
  5. Konfigurasi Jenkins
  6. Keamanan Jenkins
  7. Pengujian

Langkah 1 - Instal Java

Jenkins adalah aplikasi berbasis Java, jadi kita perlu menginstal Java OpenJDK di server. Pada langkah ini, kita akan menginstal Java 8 dari repositori PPA yang akan kita tambahkan terlebih dahulu.

Instal paket software-properties-common, lalu tambahkan repositori Java OpenJDK PPA.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y

Sekarang instal Java 8 menggunakan perintah apt.

sudo apt install openjdk-8-jdk -y

Ketika instalasi selesai, periksa versi java yang diinstal pada sistem.

java -version

Dan Anda akan mendapatkan Java OpenJDK 1.8 sekarang diinstal pada sistem Ubuntu 18.04.

Catatan:

  • Jika Anda memiliki beberapa versi java di sistem Anda, ubah versi java default menggunakan perintah di bawah ini.
sudo update-alternatives --config java

Langkah 2 - Instal Jenkins

Jenkins menyediakan repositori Ubuntu untuk paket instalasi dan kami akan menginstal Jenkins dari repositori ini.

Tambahkan kunci dan repositori Jenkins ke sistem dengan perintah di bawah ini.

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list

Sekarang perbarui repositori dan instal Jenkins.

sudo apt update
sudo apt install jenkins -y

Saat penginstalan selesai, mulai layanan Jenkins dan tambahkan ke waktu boot.

systemctl start jenkins
systemctl enable jenkins

Jenkins sekarang aktif dan berjalan di server Ubuntu 18.04, berjalan pada port default '8080'. Periksa menggunakan netstat seperti di bawah ini.

netstat -plntu

Dan Anda akan mendapatkan hasil seperti di bawah ini.

Langkah 3 - Instal dan Konfigurasi Apache2 sebagai Reverse proxy untuk Jenkins

Dalam tutorial ini kita akan menjalankan Jenkins di belakang server web Apache, kita akan mengkonfigurasi apache sebagai proxy terbalik untuk Jenkins.

Pertama kita akan menginstal Apache dan mengaktifkan beberapa modul yang diperlukan, dan kemudian kita akan membuat file virtual host dengan nama domain jenkins.hakase-labs.io untuk Jenkins. Silakan gunakan nama domain Anda sendiri di sini dan ganti di semua file konfigurasi di mana pun itu muncul.

Instal server web Apache2 dari repositori Ubuntu.

sudo apt install apache2 -y

Setelah penginstalan selesai, aktifkan modul proxy dan proxy_http sehingga kami dapat mengonfigurasi apache sebagai server frontend/proksi terbalik untuk Jenkins.

a2enmod proxy
a2enmod proxy_http

Selanjutnya, buat file host virtual baru untuk Jenkins di direktori sites-available.

cd /etc/apache2/sites-available/
vim jenkins.conf

Tempel konfigurasi host virtual di bawah.

<Virtualhost *:80>
    ServerName        jenkins.hakase-labs.io
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
 
    <Proxy http://localhost:8080/*>
      Order deny,allow
      Allow from all
    </Proxy>
 
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hakase-labs.io/
</Virtualhost>

Simpan dan keluar, lalu aktifkan virtual host Jenkins dengan perintah a2ensite.

a2ensite jenkins

Mulai ulang layanan Apache dan Jenkins.

systemctl restart apache2
systemctl restart jenkins

Instalasi dan konfigurasi apache2 sebagai proxy terbalik untuk Jenkins telah selesai.

Langkah 4 - Konfigurasi Firewall UFW

Sebelum mengaktifkan firewall UFW di server Ubuntu, kita perlu menambahkan port layanan dasar seperti SSH, HTTP, dan HTTPS.

Tambahkan layanan SSH, HTTP, dan HTTPS ke firewall ufw.

ufw allow ssh
ufw allow http
ufw allow https

Sekarang mulai dan aktifkan firewall ufw.

ufw enable

ketik 'y' dan tekan Enter.

Firewall UFW sekarang diaktifkan, dan port HTTP telah ditambahkan.

Langkah 5 - Konfigurasi Jenkins

Jenkins berjalan pada nama domain 'http://jenkins.hakase-labs.io'. Buka browser web Anda dan ketik URL.

Anda akan mendapatkan layar yang meminta Anda memasukkan kata sandi admin awal. Kata sandi telah dibuat oleh Jenkins, jadi kita hanya perlu menunjukkan dan menyalin hasilnya ke kotak kata sandi.

Tampilkan kata sandi admin awal Jenkins dengan perintah cat.

cat /var/lib/jenkins/secrets/initialAdminPassword

Tempelkan hasilnya ke layar dan klik 'Lanjutkan'.

Sekarang kita harus menginstal beberapa plugin di Jenkins untuk mendapatkan dasar yang baik untuk digunakan nanti. Pilih 'Instal Plugin yang Disarankan', klik di atasnya.

Pemasangan plugin Jenkins sedang berlangsung.

Setelah instalasi plugin selesai, kita perlu membuat kata sandi admin baru. Ketik nama pengguna, sandi, email, dll. admin Anda dan klik 'Simpan dan Lanjutkan'.

Untuk konfigurasi instans, ketik nama domain Jenkins 'http://jenkins.hakase-labs.io' dan klik tombol 'Simpan dan Selesai'.

Sekarang klik tombol 'Mulai menggunakan Jenkins'.

Dan Anda akan diarahkan ke dasbor admin Jenkins.

Instalasi dan Konfigurasi Jenkins telah berhasil diselesaikan

Langkah 6 - Keamanan Jenkins

Dari dasbor admin Jenkins, kita perlu mengonfigurasi pengaturan keamanan standar untuk Jenkins, klik 'Kelola Jenkins', lalu 'Konfigurasikan Keamanan Global'.

Jenkins menyediakan beberapa metode otorisasi di bagian 'Access Control'. Kami akan menggunakan 'Keamanan Berbasis Matriks', sehingga kami dapat mengontrol semua hak pengguna.

Tambahkan user 'hakase' pada kotak 'User/Group' dan klik add.

Berikan pengguna 'hakase' semua hak istimewa dengan mencentang semua opsi, dan klik tombol 'Simpan'.

Anda akan diarahkan ke dasbor, dan jika ada opsi login, ketikkan saja pengguna dan kata sandi admin Anda.

Langkah 7 - Pengujian

Di bagian ini, kami ingin membuat pekerjaan sederhana untuk server Jenkins. Kami akan membuat tugas sederhana untuk menguji Jenkins dan untuk mengetahui beban server dengan perintah teratas.

Dari dasbor admin Jenkins, klik 'Buat Pekerjaan Baru'.

Ketik nama pekerjaan. Kami akan menggunakan 'Sistem Pengecekan' di sini, pilih 'Proyek Gaya Bebas' dan klik 'OK'.

Buka tab 'Bangun'. Pada 'Add build step', pilih opsi 'Execute shell'.

Ketik perintah di bawah ini ke dalam kotak.

top -b -n 1 | head -n 5

Klik 'Simpan'.

Sekarang Anda berada di halaman pekerjaan dari pekerjaan 'Sistem pemeriksaan proyek'. Klik 'Build Now' untuk menjalankan tugas 'checking system'.

Setelah pekerjaan telah dijalankan, Anda akan melihat 'Build History', klik pekerjaan pertama untuk melihat hasilnya.

Berikut adalah hasil dari pekerjaan yang dilakukan oleh Jenkins.

Instalasi dan konfigurasi alat otomatisasi Jenkins dengan Apache2 sebagai proxy terbalik di Ubuntu 18.04 telah berhasil diselesaikan.

Referensi

  • https://wiki.jenkins.io/
  • https://wiki.jenkins.io/Standard+Security+Setup
  • https://jenkins-le-guide-complet.github.io/

Ubuntu
  1. Cara Menginstal WordPress dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Joomla dengan Apache di Ubuntu 18.04

  3. Cara Menginstal Laravel di Ubuntu 18.04 dengan Apache

  1. Cara Menginstal Jenkins di Ubuntu 18.04

  2. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 16.04

  3. Cara Instal Jenkins Automation Server dengan Nginx di CentOS 7

  1. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 20.04

  2. Cara Menginstal Drupal 7 dengan Apache di Ubuntu 14.04

  3. Cara Menginstal PrestaShop di Ubuntu 20.04 dengan Apache