Bagaimana cara me-restart Jenkins secara manual?

816

Saya baru saja mulai bekerja dengan Jenkins dan mengalami masalah. Setelah menginstal beberapa plugin dikatakan perlu di-restart dan masuk ke mode "mematikan", tetapi tidak pernah restart.

Bagaimana cara saya me-restart manual?

Kerry Jones
sumber
34
Catatan: "Jenkins is Shutting Down" tidak benar-benar mati, itu hanya memberitahukan berbagai pengguna yang mungkin ingin membangun sesuatu yang Jenkins akan segera dimulai kembali.
Khez
1
Sesuatu yang perlu dicatat bahwa saya tidak memperhatikan bahwa ada orang lain yang disebutkan ... Jika Anda menempatkan Jenkins dalam mode shutdown, itu sebenarnya tidak dimatikan, yang telah disebutkan. Apa yang tidak dicatat adalah bahwa itu menghentikan build baru dari awal. Jika Anda perlu membiarkan build selesai sebelum memulai ulang, Anda harus menempatkan Jenkins dalam mode shutdown, biarkan build Anda selesai, dan kemudian lakukan "restart" dengan metode apa pun yang Anda pilih dari atas.
TheRedSeth
Karena versi 1.442 Jenkins tidak perlu dihidupkan ulang setelah menginstal plug-in baru, gunakan "Instal tanpa restart" . Sayangnya fitur ini tidak berfungsi untuk pembaruan atau penghapusan instalasi.
luka5z

Jawaban:

1942

Untuk memulai ulang Jenkins secara manual, Anda dapat menggunakan salah satu dari perintah berikut (dengan memasukkan URL mereka di browser):

(jenkins_url)/safeRestart- Mengizinkan semua pekerjaan yang sedang berjalan selesai. Pekerjaan baru akan tetap dalam antrian untuk berjalan setelah restart selesai.

(jenkins_url)/restart - Memaksa restart tanpa menunggu build selesai.

Željko Filipin
sumber
14
Untuk safeRestart, lihat stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart (jika diinstal dengan rpm atau deb, jika tidak sesuaikan).
clacke
13
Ini menyebabkan a RestartNotSupportedExceptiondi Jenkins 1.532.1 dengan IcedTea 2.3.9. sudo /etc/init.d/jenkins restartbekerja untuk saya.
Matthias Braun
4
Di Windows, gunakan layanan Windows daripada baris perintah.
Mag
8
Apakah ada tautan internal dari jenkins untuk melakukan ini alih-alih mengingat url ajaib?
rogerdpack
5
Apakah ini tidak tersedia di web gui?
realtebo
182

Jika Anda menginstal sebagai rpm atau deb , maka service jenkins restartakan berfungsi juga.

Ben Mathews
sumber
115

Di Ubuntu atau Debian, saat diinstal melalui apt-get/ dpkg:

$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}
Timo Tijhof
sumber
1
https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance- mengatakan PENTING: Jangan meluncurkan metode start | stop | restart secara manual sebagai $ sudo /etc/init.d/jenkins start | stop | restart karena itu membuat layanan Anda tidak dapat diandalkan karena mengambil lingkungan dari pengguna root sebagai lawan dari lingkungan kosong bersih yang dapat diandalkan yang ditetapkan oleh peluncur init (layanan / systemctl ).
battey
96

The SafeRestart Plugin perlu disebutkan. Ini sangat berguna ( Restart Aman ). Itu menambahkan tautan untuk dapat memulai kembali dari menu utama:

Masukkan deskripsi gambar di sini

Vitalii Elenhaupt
sumber
Saya sering menggunakan fitur ini untuk menginstal plugin.
imdibiji
Aneh bahwa plugin ini tidak disertakan secara default.
Gambar
70

Perintah di bawah ini berfungsi untuk saya di Red Hat Linux dan juga bisa digunakan untuk Ubuntu.

  • Untuk mengetahui status Jenkins:

    sudo service jenkins status
    
  • Untuk memulai Jenkins:

    sudo service jenkins start
    
  • Untuk menghentikan Jenkins:

    sudo service jenkins stop
    
  • Untuk me-restart Jenkins:

    sudo service jenkins restart
    

Demo pada prompt perintah:

[root@varunHome]# sudo service jenkins status
jenkins (pid  7468) is running...

[root@varunHome]# sudo service jenkins stop
Shutting down Jenkins               [  OK  ]

[root@varunHome]# sudo service jenkins start
Starting Jenkins                    [  OK  ]

[root@varunHome]# sudo service jenkins restart
Shutting down Jenkins               [  OK  ]

Starting Jenkins                    [  OK  ]
[root@varunHome]#

Orang-orang yang menggunakan windows

Buka Konsol / Baris perintah -> Buka direktori instalasi Jenkins Anda. Jalankan masing-masing perintah berikut:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart

Varun
sumber
37

Pada Windows, jika Anda menginstal itu sebagai sebuah layanan, pergi ke Layanan ( MulaiRun : services.msc), menemukan Jenkins, klik kanan → Restart .

Jika tidak membantu (UI tidak merespons) buka Windows Task Manager → Proses , matikan java.exeproses, dan mulai ulang layanan sekali lagi.

Constantine
sumber
7
mencoba untuk mencapai / safe Mulai ulang di windows akan mengarah ke: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: Siklus hidup Windows default tidak mendukung restart.
x29a
1
Ketika /safeRestarttidak tersedia, gunakan /safeExitsebelum memulai ulang secara manual.
Jesse Glick
19

Jika Anda menjalankan Jenkins di Mac OS X maka Anda dapat menghentikan layanan secara manual dengan menjalankan perintah ini:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
Jalal
sumber
1
Anda kemudian dapat memulai kembali menggunakanload
kraftydevil
17

Ini juga bisa dilakukan menggunakan Jenkins CLI :

java -jar jenkins-cli.jar -s http://[jenkins-server]/ restart

The jenkins-cli.jarberkas bersama dengan daftar lengkap perintah yang tersedia di http://[jenkins-server]/cli.

Ciaran
sumber
12

Jika Anda hanya ingin memuat ulang file konfigurasi, Anda dapat melakukannya

    <jenkins_url>/reload

Ini lebih cepat jika Anda telah melakukan sedikit perubahan pada file konfigurasi, seperti config.xmllangsung di sistem file atau membuat salinan pekerjaan melalui sistem file (bukan melalui browser).

infoclogged
sumber
10

Itu tergantung pada bagaimana Jenkins telah dimulai.

  • Sebagai layanan: sudo service jenkins restart, sudo /etc/init.d/jenkins restart, dll

  • Sebagai aplikasi web dalam instalasi Tomcat: restart Tomcat Anda, atau cukup restart aplikasi di Tomcat. Pergi ke http://<tomcat-server>:8080/manager/listatau setelah otentikasi tekan http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Diluncurkan dengan just java -jar: kill it ( kill -9 <pid>), dan meluncurkan kembali.

  • Diluncurkan dengan java -jar, tetapi dari penyelia:supervisorctl restart jenkins

François SAMIN
sumber
Hanya memilih Anda menggunakan jawaban kasus bagus !!
user43968
8

Di Windows

Buka instalasi Jenkins, buka cmd dan jalankan:

  • Untuk berhenti:

    jenkins.exe stop
    
  • Untuk memulai:

    jenkins.exe start
    
  • Untuk memulai kembali:

    jenkins.exe restart
    
Monis Majeed
sumber
8

Kadang-kadang akan ada beberapa proses Jenkins basi, jadi ps -ef | grep jenkinsbunuh semuanya. Mulai ulang seperti dijelaskan dalam jawaban sebelumnya, dan itu akan bersih.

ps -ef | grep jenkins
sudo kill -kill <pid>
tajam
sumber
7

Jika Anda menjalankan FreeBSD:

/usr/local/etc/rc.d/jenkins restart
Eric Cope
sumber
5

Jika Anda dapat mengaksesnya di browser web, cukup tambahkan /restart, misalnya,localhost:8080/restart ,.

Jika Anda menjalankannya sebagai layanan, maka masuklah ke server Anda dan jalankan perintah:

sudo service jenkins stop/start
Rizwan Javid
sumber
4

Untuk memulai ulang Jenkins secara manual menggunakan browser:

Masukkan www.jenkins-ip/restart (misalnya, http://localhost:8080/restart) Anda di browser. Jenkins akan memulai ulang dan memuat halaman login secara otomatis setelah restart.

Vaibhav Walke
sumber
3

JenkinURL / restart akan melakukan restart.


/usr/local/etc/rc.d/jenkins restart
Sebin
sumber
Tapi /usr/local/etc/rc.d/jenkinbukan URL (?). Bisakah Anda menguraikan?
Peter Mortensen
3

Untuk Mac

Hentikan Jenkins

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

Mulai Jenkins

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
Sazzad Hissain Khan
sumber
3

Dari terminal:

sudo service jenkins restart

Atau jenkinsurl/restart.

Sidharta
sumber
3

Beberapa orang telah menyebutkan perlunya memulai kembali wadah servlet jika Jenkins tidak berjalan sebagai mandiri. Tetapi Tomcat (atau apa yang sedang digunakan) tidak perlu direstart. Tomcat dapat memaksa restart konteks Jenkins jika restart Jenkins Anda digantung.

Tetapi untuk membahas komentar lain, ketika Anda menempatkan Jenkins dalam mode "mematikan", itu tidak akan benar-benar mati. Ini menghentikan pekerjaan baru dari mengeksekusi dan menempatkan spanduk merah raksasa di halaman sistem sehingga semua orang tahu bahwa administrator akhirnya ingin menurunkannya. Ada plugin untuk memicu restart servlet container untuk konteks itu setelah semua build selesai.

Alternatifnya adalah menunggu sampai pekerjaan terakhir berjalan selesai, kemudian menendang Jenkins secara manual dari wadah (atau melalui opsi baris perintah yang disebutkan orang lain untuk pemasangan Jenkins yang berdiri sendiri).

JasonRobinson
sumber
3

Jika itu digunakan sebagai file perang kemudian restart server aplikasi, misalnya, Tomcat.

tajam
sumber
2

Untuk CentOS :

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins akan aktif dan menjalankan beberapa PID.

Aamir M Meman
sumber
2

Jika berada di wadah Docker, Anda bisa memulai kembali wadah Anda. Anggap saja nama wadahnya jenkins, sehingga Anda dapat melakukan:

docker restart jenkins

Atau

docker stop jenkins
docker start jenkins
Youssouf Maiga
sumber
Penting! Tentang buruh pelabuhan - Data Jenkins harus persisten (Anda mungkin kehilangan pekerjaan yang sedang berjalan, sumber daya, bangunan, data dll ...) Oleh karena itu berhati-hatilah, Anda lebih baik TIDAK menggunakan "restart" dan DO gunakan berhenti dan mulai pada gambar buruh pelabuhan. solusinya adalah: sudo docker ps -> sudo docker stop <dockerImageID> -> sudo docker mulai <dockerImageID>
avivamg
2

Anda memiliki banyak opsi untuk memulai ulang Jenkins secara manual, tetapi terutama dua (URL atau baris perintah):

  • Alternatif 1: Menggunakan URL instalasi Jenkins:

    Jenkins_URL/restart.

    Contoh: http://jenkinsserver.com/restart

    Jenis restart memaksa restart tanpa menunggu build selesai.

    Jika Anda perlu menunggu untuk akhir pekerjaan Anda dapat menggunakan:

    Jenkins_URL/safeRestart.

    Contoh: http://jenkinsserver.com/safeRestart

  • Alternatif 2: Menggunakan baris perintah, tergantung pada instalasi Jenkins Anda.

    • Jika Anda menginstal menggunakan paket rpm atau deb atau Anda memiliki instalasi Jenkins di Red Hat , Ubuntu , atau Debian , Anda dapat menggunakan perintah ini:

    • sudo service jenkins restart

      Ini memulai ulang Jenkins dalam satu langkah.

    • sudo service jenkins stopdan sudo service jenkins start,

      Ini me-restart Jenkins dalam dua curam.

      Catatan: jika Anda perlu memeriksa status Jenkins, Anda dapat menggunakan perintah ini: sudo service jenkins status

    • Jika Anda menggunakan CentOS , Anda dapat menggunakan perintah ini:

      sudo systemctl restart jenkins
      

      Catatan: jika Anda perlu memeriksa status Jenkins, Anda dapat menggunakan perintah ini: sudo systemctl status Jenkins

Javier C.
sumber
1

Windows

Jalankan services.mscdan mulai kembali:

Masukkan deskripsi gambar di sini

Tiago Medici
sumber
1

Coba di bawah ini. Ini berhasil untuk saya.

sudo service jenkins status  

Ini akan memberi Anda PID dari Jenkins. Sekarang lakukan a

kill -15 [PID]

sudo service jenkins start
Avinash Agrawal
sumber
3
Ingin tahu mengapa Anda tidak hanya melakukan "(sudo) service jenkins restart"?
nembleton
Ya, benar sekali tetapi saya menghadapi masalah, terkadang tidak berhasil bagi saya.
Avinash Agrawal
1

Jika tidak ada yang berhasil maka temukan proses Jenkins oleh

ps aux | grep java

dan kemudian bunuh:

kill -9 [PID]

sudo service jenkins start

Sunting: Cari proses java yang terkait dengan jenkins

Neil
sumber
4
cukup berbahaya hanya mencari proses java, bukan begitu? Orang harus memahami sesuatu yang lebih spesifik.
Tim Büthe
0

Jika Anda tidak memiliki izin atau akses ke baris perintah secara langsung, Anda dapat melakukan mis. Salah satu dari yang berikut:

  1. Buat pekerjaan dengan langkah shell / batch yang akan memicu restart dari folder instalasi Jenkins
  2. Instal / perbarui beberapa plugin sambil memeriksa "mulai ulang setelah instalasi" (setidaknya ini berfungsi di versi lama)

Keduanya di atas adalah peretasan, tetapi saya secara aktif menggunakannya di lingkungan yang sangat terbatas di mana tidak ada yang ingin saya memulai ulang Jenkins, ya.

TEH EMPRAH
sumber
0

Jika Anda menjalankan Jenkins sebagai server di mesin Windows, kemudian buka Task Manager dan beralih ke tab layanan. Cari Jenkins dan mulai kembali.

Prem Choudhary
sumber