GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal dan Jalankan Jenkins dengan Systemd dan Docker

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

  1. Versi terbaru buruh pelabuhan terpasang
  2. 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.


Ubuntu
  1. Cara menginstal dan menghosting server OpenVPN dengan Docker

  2. Cara Menginstal Jenkins dengan Docker

  3. Mengonfigurasi Layanan Systemd untuk dijalankan dengan akses root

  1. Cara Menyebarkan dan Menjalankan Redis di Docker

  2. Instal dan Jalankan Vagrant di Ubuntu 20.04

  3. Cara Menginstal Docker dan Menjalankan Wadah Docker di Ubuntu

  1. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  2. Cara Menjalankan Jenkins Container sebagai Layanan Systemd dengan Docker

  3. Cara Menjalankan Container sebagai Layanan Systemd dengan Podman