GNU/Linux >> Belajar Linux >  >> Linux

Jenkins Server di Linux:Server Otomatisasi Sumber Terbuka dan Gratis

Jenkins bukan server biasa seperti Apache atau Nginx; ini adalah server sumber terbuka dan gratis untuk para pengembang, pemrogram, pembuat kode, dan pemeriksa. Mereka yang akrab dengan konsep GitHub mungkin tahu server Jenkins. Server Jenkins adalah server integrasi berkelanjutan yang dapat membantu pengembang membangun, mengkompilasi, menguji, dan menyimpan kode di repositori. Pengguna Linux dapat mendesentralisasikan kode mereka sendiri, antara lain, melalui server Jenkins. Server Jenkins dapat memberi tahu pengembang jika menemukan kesalahan di dalam kode.

Di masa lalu, pengembang harus menyimpan kode di repositori kode, di mana pengembang yang berlokasi jauh harus menyimpan, menggabungkan, dan mengevaluasi kode. Proses yang panjang ini dapat menyebabkan keterlambatan dalam proses. Itu juga bisa membuat bug baru. Sebelumnya, pengembang harus menunggu lama untuk memulai proyek baru hingga hasil pengujian sebelumnya keluar. Sekarang mereka dapat segera memulai proyek lain setelah satu tugas selesai. Menginstal server Jenkins Di Linux dapat menghemat banyak waktu para pengembang.

Fitur Server Jenkins

Ketika menemukan bug di dalam kode sumber server Jenkins, Anda tidak perlu menghapus seluruh kode; Anda dapat memperbaiki kesalahan spesifik kode. Jenkins memungkinkan pengguna untuk mengembangkan beberapa kode secara bersamaan. Di server Jenkins, Anda dapat mengedit kode sumber.

Mengirimkan kode ke satu repositori dari beberapa pengembang tidak pernah lebih nyaman dan dapat diandalkan sebelum Jenkins. Server Jenkins hanya melewati kode yang diverifikasi. Anda tidak dapat mengunggah kode yang salah ke repositori Jenkins. Saat Anda mengunggah kode yang salah di server Jenkins, maka secara otomatis akan mengirimkan umpan balik ke pengembang.

Tujuan utama Jenkins adalah untuk memperkenalkan lebih banyak fitur dan fungsi untuk membuat platform lebih ramah pengguna sehingga pengembang dapat mengirimkan kode kapan pun mereka mau. Anda dapat menggunakan banyak plugin di server Jenkins untuk mempermudah pekerjaan Anda. Jenkins mendukung GIT, Maven, Nagios, Selenium, Puppet, dan Ansible.

Jika Anda ingin mengintegrasikan alat tertentu, Anda perlu memastikan bahwa plugin tertentu telah diinstal. Anda dapat menemukan dan menginstal plugin dari opsi plugin yang relevan. Anda juga dapat menemukan plugin secara manual dan menginstalnya. Beberapa fitur server Jenkins tercantum di bawah ini.

  • Mudah Dipasang
  • Banyak Plugin
  • Sistem Terdistribusi
  • Dasbor Jenkins
  • Perbaiki Kesalahan Kode Kapan Saja
  • Membangun Sejarah
  • Kelola Tampilan Saya
  • Kredensial
  • Penerbit HTML
  • Plugin Pemberitahuan

Instal Server Jenkins Di Linux

Anda dapat mengelola log sistem, informasi sistem, statistik beban, antarmuka CLI, menetapkan tujuan, dan tugas lainnya dari server Jenkins di Linux. Di server Jenkins, Anda tidak perlu membuat seluruh kode untuk menguji proyek; Anda dapat menguji setiap bagian kode untuk memastikan bahwa bagian kode yang lebih kecil berfungsi dengan benar. Jenkins menggunakan protokol TCP/IP untuk berkomunikasi dengan server lain.

- -

Anda dapat membuat, menguji, merilis, dan menerapkan kode Anda melalui server Jenkins. Anda dapat menggunakan solusi yang di-host dan tidak di-host untuk menyelesaikan metode integrasi berkelanjutan. Anda dapat menemukan plugin yang diinstal dan tersedia di dasbor. Anda dapat menemukan proyek gaya bebas, proyek Maven, proyek Pipeline, proyek eksternal, proyek multi-konfigurasi, dan jenis proyek lainnya di server Jenkins.

Setelah selesai menulis kode, Anda dapat meninjau, menguji, dan mengunggahnya ke repositori. Jika menurut Anda kode Anda tidak cukup baik, Anda dapat membuat perubahan, mengedit informasi build, dan menghapus build.

1. Jenkins Server di Ubuntu Linux

Menginstal server Jenkins di Ubuntu dan distribusi Linux Debian lainnya adalah proses yang paling mudah. Pertama, Anda perlu menginstal paket Java di mesin Ubuntu Anda. Kemudian, Anda perlu mengunduh paket Jenkins di sistem Anda dan menginstalnya melalui shell perintah terminal.

Langkah 1:Instal Paket Java

Pertama, mari kita instal paket Java di mesin Ubuntu kita untuk menginstal server Jenkins. Anda dapat mengikuti baris perintah terminal yang diberikan untuk menginstal Java di Ubuntu.

sudo apt update
sudo apt install openjdk-8-jre
sudo apt install openjdk-8-jre-headless

Sekarang Anda dapat memeriksa versi Java untuk memastikan bahwa Anda telah menginstal Java dengan benar.

java -version

Langkah 2:Unduh Server Jenkins di Ubuntu

Sekarang, Anda dapat menggunakan wget berikut ini perintah untuk mengunduh server Jenkins di Linux Ubuntu Anda.

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

Sekarang, buka daftar sumber paket di sistem Ubuntu Anda untuk menambahkan server Jenkins di dalam daftar paket. Gunakan baris perintah berikut yang diberikan di bawah ini untuk mengedit skrip.

sudo nano /etc/apt/sources.list

Kemudian tambahkan paket Debian di dalam file library.

deb https://pkg.jenkins.io/debian binary/

Setelah unduhan selesai, jalankan baris perintah aptitude berikut yang diberikan di bawah ini untuk memperbarui sistem Anda dan menginstal server Jenkins di Ubuntu Linux.

sudo apt update
sudo apt install jenkins

Setelah server Jenkins terinstal, Anda sekarang dapat memulai server Jenkins di sistem Linux Anda.

sudo systemctl start jenkins

Langkah 3:Izinkan Pengaturan Firewall untuk Server Jenkins

Setelah server Jenkins berhasil diinstal pada sistem Ubuntu Anda, Anda perlu mengonfigurasi pengaturan firewall server Jenkins. Karena kami menggunakan Ubuntu Linux, kami akan menggunakan firewall UFW. Secara default, server Jenkins menggunakan port 8080 untuk membuat koneksi. Anda dapat menggunakan baris perintah berikut untuk mengizinkan firewall UFW menetapkan aturan.

sudo ufw allow 8080
sudo ufw status

Anda juga dapat mengizinkan alat jaringan OpenSSH untuk server Jenkins.

sudo ufw allow OpenSSH
sudo ufw enable

Pastikan Anda telah mengizinkan localhost atau alamat IP lainnya untuk server Jenkins.

http://your_server_ip_or_domain:8080

Untuk membuat kode pribadi Anda aman dan terlindungi, Anda dapat mengatur kata sandi dengan mengedit skrip konfigurasi Jenkins. Anda akan menemukan skrip konfigurasi di var/lib/jenkins/secrets/ direktori.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

2. Instal Jenkins di Fedora Linux

Di Fedora Linux, Anda dapat menginstal server Jenkins dengan mengunduh paket Jenkins dan repositorinya di sistem Anda. Kemudian, Anda harus menginstal paket di Fedora Linux Anda. Kami akan menggunakan alat perintah DNF untuk menginstal server Jenkins di Fedora Linux.

Langkah 1:Instal Java di Fedora Linux

Karena Java adalah layanan prasyarat untuk menginstal server Jenkins, Anda harus terlebih dahulu mendapatkan Java. Jika Anda belum menginstal Java di dalam mesin Anda, harap instal layanan Java terlebih dahulu di sistem Anda.

sudo dnf install java-11-openjdk-devel.x86_64

Langkah 2:Instal Server Jenkins

Setelah Java berhasil diinstal, Anda sekarang dapat menggunakan wget berikut ini:perintah untuk mengunduh dan mengimpor repositori Jenkins di sistem Anda.

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo dnf upgrade
sudo dnf install jenkins java-devel.

Anda sekarang dapat menjalankan perintah kontrol sistem berikut untuk memulai dan memeriksa status layanan server Jenkins di mesin Linux Anda.

sudo systemctl start jenkins
sudo systemctl status jenkins

Langkah 3:Pengaturan Firewall untuk Server Jenkins

Seperti yang kita ketahui bahwa, secara default, server Jenkins menggunakan port 8080. Jadi, kita perlu menetapkan port 8080 untuk server Jenkins di Linux. Anda juga dapat menjadikan 8080 sebagai port permanen untuk server Jenkins.

YOURPORT=8080
PERM="--permanent"
SERV="$PERM --service=jenkins"

Sekarang, gunakan baris perintah berikut untuk menambahkan aturan firewall untuk server Jenkins di Fedora Linux.

firewall-cmd $PERM --new-service=jenkins
firewall-cmd $SERV --set-short="Jenkins ports"
firewall-cmd $SERV --set-description="Jenkins port exceptions"
firewall-cmd $SERV --add-port=$YOURPORT/tcp
firewall-cmd $PERM --add-service=jenkins
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

Setelah semuanya dilakukan dengan benar, Anda siap melakukannya. Terakhir, alamat web untuk server Jenkins adalah your_localhost:8080.

http://localhost:8080

3. Server Jenkins di CentOS

Jenkins Server menggunakan repositori paket Red Hat untuk CentOS. Namun, terkadang ini dapat menyebabkan beberapa kesalahan saat Anda mencoba menginstalnya. Kami akan melihat bagaimana Anda dapat menghindari kesalahan dan menginstal server Jenkins di CentOS Anda.

Langkah 1:Instal Paket Java

Pertama, pengguna CentOS perlu menginstal layanan Java di sistem Linux mereka untuk menginstal server Jenkins. Anda dapat menggunakan baris perintah berikut untuk menginstal layanan Java di sistem Anda.

yum -y update
yum install java-1.8.0-openjdk

Sekarang Anda dapat memeriksa versi Java untuk memastikan bahwa Java berhasil diinstal di dalam sistem Anda.

java -version

Langkah 2:Instal Server Jenkins

Pada langkah ini, kita perlu menggunakan wget berikut:perintah untuk mengunduh server Jenkins dan dependensi paket pada CentOS.

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo

Sekarang, jalankan yum berikut ini perintah untuk mengkonfigurasi untuk berinteraksi Java dengan server Jenkins.

yum install jenkins java-1.8.0-openjdk –y

Jika Anda menemukan kesalahan saat mengonfigurasi Java dengan server Jenkins, Anda dapat mengatur konfigurasi secara manual. Untuk mengedit skrip konfigurasi, gunakan perintah nano berikut untuk membuka dan mengedit file.

sudo nano /etc/yum.repos.d/jenkins.repo

Sekarang, salin dan tempel kode skrip berikut di dalam file konfigurasi. Setelah konfigurasi selesai, simpan dan keluar dari file.

[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1

Gunakan baris perintah kontrol sistem berikut untuk memulai dan mengaktifkan server Jenkins di sistem Linux Anda.

systemctl start jenkins
systemctl enable jenkins

3. Setelan Firewall untuk CentOS

Pengguna CentOS dapat menggunakan baris perintah Firewalld berikut untuk mengizinkan port 8080/TCP untuk server Jenkins. Perintah firewall berikut mencakup parameter zona dan port. Setelah pengaturan konfigurasi firewall selesai, Anda sekarang dapat memuat ulang pengaturan firewall. Gunakan baris perintah Firewalld berikut untuk mengizinkan port 8080 pada sistem CentOS Anda.

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload

Selain itu, Anda juga dapat menambahkan GNU Privacy Guard ke server Jenkins agar lebih aman. Gunakan perintah berikut untuk menambahkan kunci GNU untuk server Jenkins Anda.

sudo rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key

4. Server Jenkins di OpenSUSE

Menginstal server Jenkins di SuSE dan OpenSuSE Linux memerlukan paket Java yang sudah diinstal sebelumnya di dalam sistem. Pertama, kita akan menginstal Java nanti; kami akan menginstal server Jenkins dan mengkonfigurasi pengaturan firewall di SuSE Linux kami.

Langkah 1:Instal Java di SUSE Linux

Pengguna SUSE dan OpenSUSE Linux dapat menjalankan perintah install verbose hash (IVH) berikut untuk mendapatkan Java. Sebelum menginstal layanan Java, Anda harus memperbarui repositori sistem dan database sistem Anda.

sudo zypper ref
sudo zypper update
rpm -ivh jre-8u251-linux-i586.rpm

Langkah 2:Instal Jenkins Server di SUSE Linux

Gunakan perintah zypper berikut yang diberikan di bawah ini untuk mengunduh server Jenkins di SUSE dan OpenSUSE Linux. Kemudian gunakan baris perintah zypper berikut untuk menginstal server Jenkins di SUSE Linux Anda.

sudo zypper addrepo -f https://pkg.jenkins.io/opensuse-stable/ jenkins
zypper install jenkins

Setelah server Jenkins diinstal di dalam sistem Linux Anda, Anda sekarang dapat memulai layanan Jenkins. Anda juga dapat menjalankan perintah kontrol sistem berikut untuk memantau status server Jenkins.

sudo systemctl start jenkins
sudo systemctl status jenkins

Langkah 3:Layanan Firewall untuk Jenkins di SUSE Linux

Pengguna SuSE dan OpenSuSE Linux dapat menggunakan perintah Firewalld berikut untuk menambahkan port 8080 ke daftar konfigurasi jaringan mereka. Ini akan memberi tahu jaringan untuk mengizinkan server Jenkins Anda. Setelah mengkonfigurasi layanan firewall, jangan lupa untuk memuat ulang layanan firewall.

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

Anda juga dapat mengatur nama pengguna dan kata sandi otorisasi ke server Jenkins Anda dengan mengedit skrip konfigurasi server Jenkins. Anda akan menemukan skrip di /var/lib/jenkins/secrets/ direktori sistem file Linux Anda.

sudo more /var/lib/jenkins/secrets/initialAdminPassword

5. Instal Jenkins Server di Red Hat Linux

Pengguna Red Hat Linux perlu menggunakan perintah YUM untuk menginstal Java dan server Jenkins di sistem mereka. Kemudian, kita akan mengkonfigurasi pengaturan firewall melalui alat Firewalld.

Langkah 1:Instal Java di Red Hat Linux

Karena server Jenkins memerlukan paket Java dan dependensinya, kami perlu mengunduh paket Java di Red Hat Linux kami. Ikuti baris perintah terminal yang diberikan di bawah ini untuk mendapatkan java di Red Hat Linux. Anda dapat melihat bahwa kami menggunakan devel package, yang merupakan paket berbasis Debian.

sudo yum install java-11-openjdk-devel

Langkah 2:Unduh dan Instal Jenkins Server di Red Hat Linux

Pengguna Red Hat Linux dapat menginstal server Jenkins pada sistem dengan mengunduh repositori Jenkins. Pertama, Anda perlu mengunduh repositori Jenkins dari toko resmi. Kemudian Anda harus mengimpor repositori ke daftar paket. Anda dapat menggunakan baris perintah shell terminal berikut yang diberikan di bawah ini untuk mengunduh, menyimpan, dan mengimpor repositori paket.

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Sekarang jalankan yum berikut ini perintah untuk menginstal server Jenkins di perusahaan Red Hat Linux Anda.

yum install jenkins

Langkah 3:Setelan Firewall untuk Server Jenkins

Pengguna Red Hat Linux dapat menggunakan perintah Firewalld berikut untuk menambahkan port 8080 secara permanen untuk mengizinkan server Jenkins. Kemudian muat ulang pengaturan firewall.

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

6. Instal Jenkins Server di Arch Linux

Untuk mendemonstrasikan menginstal server Jenkins di Arch Linux, kami akan menggunakan Manjaro Linux. Pertama, kita akan menginstal layanan Java kemudian kita akan menginstal server Jenkins di Manjaro Linux.

Langkah 1:Instal Java di Manjaro

Untuk menginstal layanan Java di dalam Manjaro Linux, kita perlu menjalankan perintah Pacman berikut di bawah shell terminal Anda. Setelah instalasi selesai, Anda dapat memeriksa versi Java.

sudo pacman -S jre11-openjdk-headless jre11-openjdk jdk11-openjdk openjdk11-doc openjdk11-src
java -version

Langkah 2:Instal Server Jenkins

Pada langkah ini, kita akan mengunduh server Jenkins dari situs resmi Jenkins. Anda dapat mengunduh server Jenkins untuk Manjaro atau Arch Linux dari sini.

Setelah unduhan selesai, buka direktori Unduhan dan instal menggunakan perintah Pacman berikut.

cd Downloads/
ls
sudo pacman -U jenkins-2.263-1-any.pkg.tar.zst

Langkah 3:Pengaturan Firewall di Manjaro Linux

Di sini, kami akan menginstal alat firewall UFW untuk mengelola aturan firewall di Arch Linux kami. Pertama, gunakan perintah manajer paket berikut untuk menginstal alat UFW di Manjaro Linux Anda.

sudo pamac install ufw

Sekarang, aktifkan dan jalankan alat UFW.

sudo systemctl enable ufw.service
sudo ufw enable

Terakhir, semua port 8080/TCP untuk server Jenkins di Manjaro Linux.

sudo ufw allow ssh
sudo ufw allow in 8080/tcp

Kiat Ekstra:Gunakan Java yang Tepat, dan Nikmati Jenkins di Docker

Menggunakan server Jenkins dapat menjadi tantangan bagi mereka, yang benar-benar baru mengenal Linux dan Jenkins. Namun, pada langkah ini, saya akan menjelaskan beberapa masalah umum yang mungkin Anda hadapi saat menggunakan server Jenkins di sistem Linux Anda.

1. Pastikan Anda Telah Memberikan Izin Akses

Jika Anda gagal memuat beberapa program atau kode pada layanan Jenkins Anda, harap pastikan bahwa Anda telah memberikan izin akses file tertentu untuk server Jenkins di sistem Linux Anda. Anda dapat menggunakan perintah ubah mode berikut untuk mengubah izin akses ke file.

chmod 755 /home/UbuntuPIT/New_TES//code/SG_V1.0/Voice-data.pl

Anda juga dapat menggunakan perintah terminal berikut untuk menambahkan seluruh direktori ke server Jenkins.

mkdir -p /srv/UbuntuPIT/jenkins/jobs/project/workspace

2. Gunakan Versi Java yang Benar

Jika Anda menemukan kesalahan dalam menjalankan server Jenkins di sistem Linux Anda, pastikan Anda telah menginstal versi Java yang benar. Jenkins membutuhkan versi Java 8 dan 11. Sayangnya, server Jenkins tidak mendukung Java 9, 10, dan 12.

3. Gunakan Jenkins di Docker

Karena Docker Hub adalah repositori perangkat lunak yang sangat baik untuk komunitas sumber terbuka, mengapa tidak ada gambar buruh pelabuhan dari server Jenkins yang tersedia untuk pengguna Docker? Ya, Anda sekarang dapat menarik gambar Docker untuk memuat server Jenkins di mesin Docker Anda. Gunakan perintah berikut untuk menarik versi LTS dari server Jenkins.

docker pull jenkins/jenkins:lts

Anda juga dapat menarik versi terbaru dan hebdomadal dari server Jenkins dari Docker Hub.

docker pull jenkins/jenkins

Menghapus Server Jenkins dari Linux

Karena versi Java yang salah, paket yang rusak, versi Jenkins yang rusak, Anda mungkin perlu menghapus server Jenkins dari sistem Linux Anda. Menghapus server Jenkins dari distribusi Linux memerlukan perintah paket sesuai dengan sistem operasinya.

Untuk menghapus server Jenkins, pertama-tama, Anda harus menghentikan semua layanan Jenkins yang berjalan di sistem Linux Anda.

sudo service jenkins stop

Jika Anda adalah pengguna Debian dan Ubuntu Linux, Anda dapat menjalankan baris perintah aptitude yang diberikan di bawah ini untuk menghapus server Jenkins dari mesin Ubuntu Anda.

sudo apt-get remove jenkins
sudo apt-get remove --auto-remove jenkins
sudo apt-get purge jenkins

Pengguna Linux berbasis Arch dan Arch dapat menggunakan perintah Pacman berikut untuk menghapus server Jenkins.

pamac remove jenkins
pacman -R jenkins

Menggunakan Red Hat, CentOS, atau Fedora Linux, Anda dapat menjalankan perintah berikut untuk menghapus server Jenkins dari mesin Linux Anda.

sudo service jenkins stop
sudo yum remove jenkins

Memulai Server Jenkins

Inilah hasil dari menginstal server Jenkins di berbagai distribusi Linux. Setelah proses instalasi selesai, Anda dapat membuka browser web Anda dan ketik alamat localhost berikut dan gunakan port 8080 untuk memuat server Jenkins.

localhost:8080

Anda dapat membagikan kode Anda dengan pengguna Git melalui server Jenkins. Anda juga dapat menggunakan fitur pipeline untuk membuat, mengonfigurasi, mengompilasi, dan menguji kode.

Ketika kode Anda dilewati di setiap langkah, Anda akan melihat warna hijau di setiap langkah. Anda juga dapat menjalankan beberapa pipeline sekaligus di server Jenkins Anda di Linux.

Pemikiran Terakhir

Mereka yang mendapatkan bingung dengan konsep sistem file Hadoop HDFS dan server Jenkins; mereka mungkin tahu bahwa Hadoop adalah sistem manajemen file terdistribusi, di mana server Jenkins dibuat khusus untuk pengembang dan pembuat kode. Anda dapat menggunakan Hadoop untuk mengelola data langsung dan besar di mana server Jenkins berfokus untuk membuat lebih banyak kode dan program sumber terbuka. Akan membantu jika Anda juga ingat bahwa ada perbedaan antara Jenkins, Docker, dan ansible.

Banyak perusahaan perangkat lunak multinasional sekarang menggunakan Jenkins untuk membuat produksi perangkat lunak mereka lebih cepat dan andal. Bahkan Anda bisa menggunakan server Jenkins di ponsel Android Anda. Di seluruh posting, saya telah menjelaskan bagaimana Anda dapat menginstal server Jenkins pada distribusi Linux Anda. Anda juga dapat menjalankan server Jenkins pada sistem berbasis Docker dan Linux.

Silakan bagikan posting ini dengan teman-teman Anda dan komunitas Linux jika Anda merasa posting ini informatif dan bermanfaat. Anda dapat mencatat pendapat Anda di bagian komentar tentang posting ini.


Linux
  1. Komunikasi antar-proses di Linux:Soket dan sinyal

  2. 7 Game Gratis dan Sumber Terbuka Teratas untuk Linux

  3. 6 Distribusi Linux Gratis dan Sumber Terbuka Terbaik untuk Peretasan

  1. 4 Perangkat Lunak HR Gratis dan Sumber Terbuka Teratas

  2. 4 Alat Desktop Jarak Jauh Gratis dan Sumber Terbuka Terbaik untuk Linux

  3. 4 Perangkat Lunak Manajemen Aset Digital Gratis dan Sumber Terbuka Terbaik untuk Linux

  1. 6 Perangkat Lunak GIS Gratis dan Sumber Terbuka Teratas

  2. 6 Perangkat Lunak Otomasi Pemasaran Sumber Terbuka Gratis dan Teratas

  3. 5 Perangkat Lunak Manajemen Sekolah Sumber Terbuka dan Gratis untuk Linux