Jenkins el ile nasıl yeniden başlatılır?


816

Jenkins'le çalışmaya yeni başladım ve bir sorunla karşılaştım. Birkaç eklenti yükledikten sonra yeniden başlatılması ve "kapatılması" moduna geçmesi gerektiğini, ancak asla yeniden başlatılmaması gerektiğini söyledi.

Manuel olarak yeniden başlatma nasıl yapılır?


34
Not: "Jenkins Kapanıyor" aslında kapanmıyor, sadece Jenkins'in yakında yeniden başlatılacağı bir şey oluşturmak isteyebilecek çeşitli kullanıcıları bilgilendiriyor.
Khez

1
Başka birisinin bahsettiğini fark etmediğim bir şey ... Jenkins'i kapatma moduna sokarsanız, aslında kapatılmadı, ki bu belirtildi. Belirtilmeyen şey, yeni yapıların başlamasını durdurmasıdır. Yeniden başlatmadan önce bir yapının tamamlanmasına izin vermeniz gerekiyorsa Jenkins'i kapatma moduna almalı, yapınızın bitmesine izin vermeli ve sonra yukarıdan seçtiğiniz yöntemle "yeniden başlatmayı" yapmalısınız.
TheRedSeth

Versiyon 1,442 Jenkins yana gelmez sonra yeniden başlatılması gerektirir yüklemeden yeni eklentiyi (ler), kullanımı “yeniden başlatma olmadan yükle” . Ne yazık ki bu özellik güncelleme veya kaldırma için çalışmaz.
luka5z

Yanıtlar:


1942

Jenkins'i manuel olarak yeniden başlatmak için aşağıdaki komutlardan birini kullanabilirsiniz (URL'lerini bir tarayıcıya girerek):

(jenkins_url)/safeRestart- Çalışan tüm işlerin tamamlanmasını sağlar. Yeni işler, yeniden başlatma tamamlandıktan sonra çalıştırılacak sırada kalır.

(jenkins_url)/restart - Yapıların tamamlanmasını beklemeden yeniden başlatmaya zorlar.


14
SafeRestart için, bkz. Stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart (rpm veya deb ile yüklendiyse, uygun şekilde ayarlayın).
clacke

13
Bu RestartNotSupportedException, IcedTea 2.3.9 ile Jenkins 1.532.1'de a'ya neden olur . sudo /etc/init.d/jenkins restartbenim için çalıştı.
Matthias Braun

4
Windows'ta, komut satırı yerine Windows hizmetini kullanın.
Mag

8
Sihirli URL'leri hatırlamak yerine bunu yapmak için jenkinlerden herhangi bir dahili bağlantı var mı?
rogerdpack

5
Bu web gui'de mevcut değil mi?
realtebo

182

Bir rpm veya deb olarak yüklediyseniz , o zaman service jenkins restartda çalışır.


115

Ubuntu veya Debian üzerinde apt-get/ aracılığıyla yüklendiğinde dpkg:

$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}

1
https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance- diyor ÖNEMLİ: Yöntemleri başlatma | durdurma | manuel olarak yeniden başlatma $ sudo /etc/init.d/jenkins start | stop | restart, çünkü init başlatıcıları (service / systemctl) tarafından ayarlanan temiz ve güvenilir bir boş ortamın aksine, kök kullanıcıdan ortamın güvenli bir şekilde alınması nedeniyle hizmetinizi güvenilmez kılar ).
battey

96

SafeRestart Eklenti söz gerekmektedir. Oldukça kullanışlıdır ( Güvenle Yeniden Başlat ). Ana menüden yeniden başlayabilmeniz için bir bağlantı ekler:

Resim açıklamasını buraya girin


Bu özelliği genellikle eklenti yüklemeleri için kullanıyorum.
imdibiji

Bu eklentinin varsayılan olarak dahil edilmediğine dikkat edin.
incir

70

Aşağıdaki komutlar Red Hat Linux'ta benim için çalıştı ve Ubuntu için de çalışmalı.

  • Jenkins'in durumunu bilmek için:

    sudo service jenkins status
    
  • Jenkins'i başlatmak için:

    sudo service jenkins start
    
  • Jenkins'i durdurmak için:

    sudo service jenkins stop
    
  • Jenkins'i yeniden başlatmak için:

    sudo service jenkins restart
    

Komut isteminde demo:

[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]#

Pencereleri kullanan insanlar

Konsol / Komut satırı'nı açın -> Jenkins kurulum dizininize gidin. Sırasıyla aşağıdaki komutları yürütün:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart


37

(Eğer bir hizmet olarak yüklü ise Windows'ta, Hizmetler gidin BaşlatÇalıştır : services.msc, Jenkins, → sağ tıklayın bulmak) Yeniden Başlat .

Bu işe yaramazsa (kullanıcı arayüzü yanıt vermiyorsa) Windows Görev Yöneticisi → İşlemler'i açın , java.exeişlemi sonlandırın ve hizmeti yeniden başlatın.


7
Windows'ta / safeRestart öğesine erişmeye çalışmak javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: Varsayılan Windows yaşam döngüsü yeniden başlatmayı desteklemez.
x29a

1
Kullanılamadığında /safeRestart, /safeExitmanuel olarak yeniden başlatmadan önce kullanın .
Jesse Glick

19

Jenkins'i Mac OS X üzerinde çalıştırıyorsanız, bu komutu yürüterek hizmeti manuel olarak durdurabilirsiniz:

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

1
daha sonra kullanmaya load
başlayabilirsiniz

17

Bu, Jenkins CLI kullanılarak da yapılabilir :

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

jenkins-cli.jarKomutların tam listesi ile birlikte dosya mevcuttur http://[jenkins-server]/cli.


12

Sadece yapılandırma dosyasını yeniden yüklemek istiyorsanız,

    <jenkins_url>/reload

config.xmlDoğrudan dosya sisteminde olduğu gibi yapılandırma dosyasında küçük bir değişiklik yaptıysanız veya işin dosya sistemi üzerinden (tarayıcı üzerinden değil) kopyalarını yaptıysanız bu daha hızlı olur .


10

Jenkins'in nasıl başlatıldığına bağlıdır.

  • Bir servis olarak: sudo service jenkins restart, sudo /etc/init.d/jenkins restartvb

  • Tomcat kurulumunda bir web uygulaması olarak: Tomcat'inizi yeniden başlatın veya uygulamayı Tomcat'te yeniden başlatın. Git http://<tomcat-server>:8080/manager/listveya kimlik doğrulama isabet sonrasında http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Sadece ile başlat java -jar: öldür ( kill -9 <pid>) ve yeniden başlat.

  • java -jarBir süpervizörden başlatıldı :supervisorctl restart jenkins


Sadece kılıf güzel cevap kullanın seçin !!
user43968


8

Windows'ta

Jenkins kurulumuna gidin, cmd'yi açın ve çalıştırın:

  • Durdurmak için:

    jenkins.exe stop
    
  • Başlamak:

    jenkins.exe start
    
  • Yeniden başlatmak:

    jenkins.exe restart
    

8

Bazen bazı eski Jenkins süreçleri olacak, bu yüzden ps -ef | grep jenkinshepsini öldürün. Önceki yanıtlarda açıklandığı gibi yeniden başlatın ve temiz olacaktır.

ps -ef | grep jenkins
sudo kill -kill <pid>

7

FreeBSD çalıştırırsanız:

/usr/local/etc/rc.d/jenkins restart

5

Bir web tarayıcısında erişebiliyorsanız, /restartörneğin ekleyin localhost:8080/restart.

Bir hizmet olarak çalıştırıyorsanız, sunucunuzda oturum açın ve komutu yürütün:

sudo service jenkins stop/start

4

Tarayıcıyı kullanarak Jenkins'i manuel olarak yeniden başlatmak için:

Tarayıcıya www.jenkins-ip/restart (örneğin, http://localhost:8080/restart) girin . Jenkins yeniden başlatılacak ve yeniden başlattıktan sonra giriş sayfasını otomatik olarak yükleyecektir.


3

JenkinURL / restart yeniden başlatmayı yapar.


/usr/local/etc/rc.d/jenkins restart

Ancak /usr/local/etc/rc.d/jenkinbir URL (?) Değildir. Detaylandırabilir misin?
Peter Mortensen

3

Mac için

Jenkins'i Durdur

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

Jenkins'i başlatın

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

3

Terminalden:

sudo service jenkins restart

Veya jenkinsurl/restart.


3

Jenkins tek başına çalışmazsa, birkaç kişi sunucu uygulaması kapsayıcısını yeniden başlatma gereğinden bahsetmiştir. Ancak Tomcat'in (veya kullanılanın) yeniden başlatılması gerekmez. Jenkins yeniden başlatmanız asılırsa Tomcat, Jenkins bağlamını yeniden başlatmaya zorlayabilir.

Ancak başka bir yoruma hitap etmek için Jenkins'i "kapatılıyor" moduna koyduğunuzda aslında kapanmayacaktır. Yeni işlerin yürütülmesini durdurur ve sistem sayfalarına dev bir kırmızı bayrak yerleştirir, böylece herkes yöneticinin sonunda ertelemek istediğini bilir. Tüm derlemeler tamamlandıktan sonra bu bağlam için bir sunucu uygulaması kapsayıcısının yeniden başlatılmasını tetikleyen eklentiler vardır.

Alternatif, son çalışan işin tamamlanmasını beklemek, ardından Jenkins'i konteynırdan manuel olarak tekmelemek (veya diğerlerinin bağımsız Jenkins yüklemesi için bahsettiği komut satırı seçenekleri aracılığıyla).


3

Bir savaş dosyası olarak dağıtılmışsa, uygulama sunucusunu, örneğin Tomcat'i yeniden başlatın.


2

İçin CentOS :

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins aktif olacak ve bazı PID'lerde çalışacak.


2

Docker kapsayıcısındaysa, kapsayıcıyı yeniden başlatabilirsiniz. Kapsayıcı adının olduğunu varsayalım jenkins, böylece şunları yapabilirsiniz:

docker restart jenkins

Veya

docker stop jenkins
docker start jenkins

Önemli! Docker'da - Jenkins verileri kalıcı olmalıdır (çalışan işleri, kaynakları, yapıları, verileri vb. Kaybedebilirsiniz ...) Bu nedenle dikkatli olun, "yeniden başlat" seçeneğini KULLANMAMANIZ ve docker görüntüsünde durdurma ve başlatmayı KULLANMAMALISINIZ. çözüm şöyle olurdu: sudo docker ps -> sudo docker stop <dockerImageID> -> sudo docker start <dockerImageID>
avivamg

2

Jenkins'i manuel olarak yeniden başlatmak için birçok seçeneğiniz var, ancak esas olarak iki (URL veya komut satırı):

  • Alternatif 1: Jenkins kurulum URL'sini kullanma:

    Jenkins_URL/restart.

    Örnek: http://jenkinsserver.com/restart

    Bu yeniden başlatma türü, derlemelerin tamamlanmasını beklemeden yeniden başlatmayı zorlar.

    İşlerin bitmesini beklemeniz gerekiyorsa şunları kullanabilirsiniz:

    Jenkins_URL/safeRestart.

    Örnek: http://jenkinsserver.com/safeRestart

  • Alternatif 2: Jenkins kurulumunuza bağlı olarak komut satırını kullanma.

    • Rpm veya deb paketini kullanarak kuruyorsanız veya Red Hat , Ubuntu veya Debian'da Jenkins kurulumunuz varsa, şu komutları kullanabilirsiniz:

    • sudo service jenkins restart

      Bu Jenkins'i bir adımda yeniden başlatın.

    • sudo service jenkins stopve sudo service jenkins start,

      Bu Jenkins'i iki adımda yeniden başlatıyor.

      Not: Jenkins durumunu kontrol etmeniz gerekiyorsa, bu komutu kullanabilirsiniz: sudo service jenkins status

    • CentOS kullanıyorsanız , bu komutu kullanabilirsiniz:

      sudo systemctl restart jenkins
      

      Not: Jenkins durumunu kontrol etmeniz gerekiyorsa, bu komutu kullanabilirsiniz: sudo systemctl status Jenkins




1

Aşağıdakini deneyin. Benim için çalıştı.

sudo service jenkins status  

Size Jenkins PID verecektir. Şimdi bir

kill -15 [PID]

sudo service jenkins start

3
Neden sadece "(sudo) service jenkins restart" komutunu vermediğinizi mi merak ediyorsunuz?
nembleton

Evet, kesinlikle doğru ama bazen benim için işe yaramadığı bir sorunla karşılaştım.
Avinash Agrawal

1

Hiçbir şey işe yaramazsa Jenkins işlemini

ps aux | grep java

ve sonra öldürün:

kill -9 [PID]

sudo service jenkins start

Düzenleme: Jenkins ile ilgili java işlemi arayın


4
sadece java süreçlerini aramak oldukça tehlikeli, değil mi? Biri daha jenkins belirli imo için grep gerekir.
Tim Büthe

0

Komut satırına doğrudan izinleriniz veya erişiminiz yoksa, örneğin aşağıdakilerden birini yapabilirsiniz:

  1. Jenkins yükleme klasöründen yeniden başlatmayı tetikleyecek kabuk / toplu iş adımıyla bir iş oluşturun
  2. "Yüklemeden sonra yeniden başlat" seçeneğini işaretlerken bazı eklentileri yükleyin / güncelleyin (en azından eski sürümlerde çalışır)

Her ikisi de hack'tir, ancak onları kimsenin Jenkins'i yeniden başlatmamı istemediği çok kısıtlı bir ortamda aktif olarak kullandım, ha.


0

Jenkins'i bir Windows makinesinde sunucu olarak çalıştırıyorsanız, Görev Yöneticisi'ni açın ve servis sekmesine geçin. Jenkins'i arayın ve yeniden başlatın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.