Saat Anda mengunduh dan mengonfigurasi Jenkins menggunakan buruh pelabuhan, Anda harus menggunakan perintah manual untuk mengelola prosesnya. Ini menjadi sangat tidak aman dan rumit. Jadi, kami akan mengelolanya menggunakan systemd. Sebenarnya, ini adalah manajer sistem dan layanan untuk sistem operasi Linux. Ini fitur on-demand memulai, mengaktifkan, memulai kembali, dan menghentikan daemon, logging, dll.
Pada artikel ini, saya akan mengunduh paket Jenkins dari repositori docker hub dan mengelolanya menggunakan systemd manager. Saya telah menggunakan Ubuntu Linux, tetapi Anda dapat melakukannya di centos, Debian, Redhat dll yang mendukung systemd.
Prasyarat
- Versi terbaru buruh pelabuhan terpasang
- Koneksi internet untuk mengunduh gambar Jenkins
Konfigurasi
Untuk menjalankan suatu proses kita membutuhkan pengguna. Jadi, kami membuat grup sistem, menambahkan pengguna sistem ke grup. Karena Anda tidak perlu login, kami tidak menyediakan shell login. Di sini saya telah memberikan nama 'devops', Anda dapat memberikan pilihan Anda.
$ sudo groupadd --system devops
$ sudo useradd -s /sbin/nologin --system -g devops devops
Selama instalasi buruh pelabuhan, buruh pelabuhan pengguna ditambahkan secara default. Jadi untuk menjalankan proses kita di dalam buruh pelabuhan, mari tambahkan pengguna 'devops' dan pengguna login Anda saat ini ke grup buruh pelabuhan.
$ sudo usermod -aG docker devops
$ sudo usermod -aG docker $USER
Kami membutuhkan direktori untuk memetakan volume kontainer ke host. Jadi, mari buat direktori dan berikan kepemilikan pengguna saat ini di direktori tersebut.
$ sudo mkdir -p /data/jenkins
$ chown -R $USER:$USER /data/jenkins
Anda sekarang dapat memverifikasi pengguna 'devops' menggunakan perintah berikut. Output Anda harus mirip dengan berikut ini.
$ id devops
Sekarang saatnya membuat layanan. File layanan disimpan di dalam /etc/systemd/system/ Jadi, buat file yang diakhiri dengan .service seperti yang ditunjukkan di bawah ini.
$ vim /etc/systemd/system/docker-jenkins.service
Tambahkan konten berikut dalam file. Konfigurasi berikut akan membuat nama layanan docker-jenkins. Itu hanya akan menarik versi terbaru gambar jenkins dari hub buruh pelabuhan dan menjalankan wadah. Ini juga akan memetakan port 8080 dan 50000 di server host, yang diperlukan untuk mengakses layanan jenkins. Seperti yang didefinisikan di bagian Unit di bawah ini, docker.service membutuhkan docker.service agar berhasil dieksekusi. Jika Anda memiliki pengguna yang berbeda, titik pemasangan berubah sesuai.
[Unit] Description=My Jenkins Server Documentation=https://jenkins.io/doc/ After=docker.service Requires=docker.service [Service] Type=simple User=devops Group=devops TimeoutStartSec=0 Restart=on-failure RestartSec=30s ExecStartPre=-/usr/bin/docker kill jenkins-server ExecStartPre=-/usr/bin/docker rm jenkins-server ExecStartPre=/usr/bin/docker pull jenkins/jenkins ExecStart=/usr/bin/docker run \ --name jenkins-server \ --publish 8080:8080 \ --publish 50000:50000 \ --volume /data/jenkins:/var/jenkins_home \ jenkins/jenkins SyslogIdentifier=jenkin ExecStop=/usr/bin/docker stop jenkins-server [Install] WantedBy=multi-user.target
Muat ulang file layanan di daemon systemd, menggunakan perintah berikut.
$ sudo systemctl daemon-reload
Mulai layanan buruh pelabuhan menggunakan perintah di bawah ini.
$ sudo systemctl start docker-jenkins
Systemd juga menyediakan layanan logging default di syslog. Anda dapat melihat log di lokasi berikut.
$ sudo tail -f /var/log/syslog
Sekarang, Anda dapat memulai layanan setelah server melakukan boot ulang menggunakan fitur 'mengaktifkan' manajer systemd.
$ sudo systemctl enable docker-jenkins
Juga, periksa dengan memulai ulang layanan.
$ sudo systemctl restart docker-jenkins
Pengaturan Jenkins
Untuk mengatur jenkins pertama kunjungi http://yourserverip:8080 Kemudian Anda harus memasukkan kata sandi admin awal, yang diatur di jalur berikut. Salin output dan tempel di "Kata sandi administrator'. Kemudian klik lanjutkan.
$ cat /data/jenkins/secrets/initialAdminPassword
Anda dapat menginstal plugin yang diperlukan dan melanjutkan.
Kesimpulan
Dalam artikel ini, Anda mempelajari cara menginstal Jenkins versi terbaru menggunakan buruh pelabuhan dan mengonfigurasi layanan untuk menggunakannya. Mengelola Jenkins dengan systemd membuat pekerjaan lebih sederhana. Terima kasih telah membaca.