Saya akan menyarankan untuk tidak menjalankan pengguna jenkins sebagai root. Ini dapat mengekspos sistem operasi dan semua repo yang dapat dibuat oleh jenkins.
Menjalankan skrip apa pun sebagai root adalah risiko keamanan, tetapi metode yang sedikit lebih aman adalah memberikan akses sudo pengguna jenkins untuk hanya menjalankan satu skrip, tanpa memerlukan kata sandi.
sudo visudo
dan tambahkan berikut ini:
jenkins ALL = NOPASSWD: /var/lib/jenkins/jobs/[job name]/workspace/script
Periksa kembali jalur Anda melalui log konsol dari skrip build yang gagal. Yang ditampilkan di sini adalah default.
Sekarang dalam tugas jenkins Anda dapat memanggil sudo $WORKSPACE/your script
Anda perlu mengubah izin untuk jenkins
pengguna sehingga Anda dapat menjalankan perintah shell. Anda dapat menginstal jenkins sebagai layanan (unduh paket rpm), Anda mungkin perlu mengubah port karena secara default menjalankan http pada 8080 dan AJP pada port 8009.
Proses berikut adalah untuk CentOS
1. Buka skrip ini (menggunakan VIM atau editor lain):
vim /etc/sysconfig/jenkins
2. Temukan $JENKINS_USER
ini dan ubah ke “root”:
$JENKINS_USER="root"
3. Kemudian ubah kepemilikan rumah, webroot, dan log Jenkins:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
4) Mulai ulang Jenkins dan periksa apakah pengguna telah diubah:
service jenkins restart
ps -ef | grep jenkins