GNU/Linux >> Belajar Linux >  >> Linux

Jalankan perintah Shell di jenkins sebagai pengguna root?

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

Sekarang Anda seharusnya dapat menjalankan pekerjaan Jenkins sebagai pengguna root dan semua perintah Shell akan dijalankan sebagai root .


Linux
  1. Bagaimana Menjalankan Perintah Sebagai Administrator Sistem (root)?

  2. Bagaimana Cara Menjatuhkan Hak Istimewa Root Dalam Skrip Shell?

  3. Cara Membuat Script Shell Selalu Jalankan Sebagai Root?

  1. Bagaimana Cara Menjalankan Perintah Tanpa Properti Root?

  2. jangan gagal membangun jenkins jika mengeksekusi shell gagal

  3. Bagaimana cara menjalankan perintah sebagai pengguna tertentu dalam skrip init?

  1. perintah su Linux

  2. Mengapa menjalankan perintah shell Linux dengan '&'?

  3. Menjalankan perintah sebagai pengguna nologin