ฉันเพิ่งเริ่มทำงานกับเจนกินส์และมีปัญหา หลังจากติดตั้งปลั๊กอินหลายตัวมันบอกว่ามันต้องเริ่มต้นใหม่และเข้าสู่โหมด "ปิดเครื่อง" แต่ไม่ต้องรีสตาร์ท
ฉันจะรีสตาร์ทด้วยตนเองได้อย่างไร
ฉันเพิ่งเริ่มทำงานกับเจนกินส์และมีปัญหา หลังจากติดตั้งปลั๊กอินหลายตัวมันบอกว่ามันต้องเริ่มต้นใหม่และเข้าสู่โหมด "ปิดเครื่อง" แต่ไม่ต้องรีสตาร์ท
ฉันจะรีสตาร์ทด้วยตนเองได้อย่างไร
คำตอบ:
ในการรีสตาร์ท Jenkins ด้วยตนเองคุณสามารถใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้ (โดยป้อน URL ในเบราว์เซอร์):
(jenkins_url)/safeRestart
- ช่วยให้งานที่กำลังดำเนินการทั้งหมดเสร็จสมบูรณ์ งานใหม่จะยังคงอยู่ในคิวเพื่อเรียกใช้หลังจากการรีสตาร์ทเสร็จสมบูรณ์
(jenkins_url)/restart
- บังคับให้รีสตาร์ทโดยไม่ต้องรอให้การสร้างเสร็จสมบูรณ์
java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart
(หากติดตั้งโดย rpm หรือ deb มิฉะนั้นปรับตามนั้น)
RestartNotSupportedException
ใน Jenkins 1.532.1 ด้วย IcedTea 2.3.9 sudo /etc/init.d/jenkins restart
ทำงานให้ฉันแม้ว่า
หากคุณติดตั้งเป็นrpmหรือdebแล้วservice jenkins restart
จะใช้งานได้เช่นกัน
บน Ubuntu หรือ Debian เมื่อติดตั้งผ่านapt-get
/ dpkg
:
$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}
SafeRestart ปลั๊กอินต้องกล่าวถึง มันค่อนข้างมีประโยชน์ ( รีสตาร์ทอย่างปลอดภัย ) มันเพิ่มลิงค์เพื่อให้สามารถรีสตาร์ทจากเมนูหลัก:
คำสั่งด้านล่างใช้ได้กับฉันในRed Hat Linuxและควรทำงานกับ Ubuntu ด้วย
หากต้องการทราบสถานะของเจนกินส์:
sudo service jenkins status
วิธีเริ่มเจนกินส์:
sudo service jenkins start
เพื่อหยุดเจนกินส์:
sudo service jenkins stop
ในการรีสตาร์ทเจนกินส์:
sudo service jenkins restart
การสาธิตที่พร้อมรับคำสั่ง:
[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]#
คนที่กำลังใช้ windows
เปิดคอนโซล / บรรทัดคำสั่ง -> ไปที่ไดเรกทอรีการติดตั้ง Jenkins ของคุณ ดำเนินการคำสั่งต่อไปนี้ตามลำดับ:
To stop:
jenkins.exe stop
To start:
jenkins.exe start
To restart:
jenkins.exe restart
บน Windows ถ้าคุณติดตั้งมันเป็นบริการที่ให้ไปที่ศูนย์บริการ ( เริ่มต้น → Run : services.msc
) ค้นหาเจนกินส์, คลิกขวา→ เริ่มต้นใหม่
หากไม่ช่วย (UI ไม่ตอบสนอง) ให้เปิดกระบวนการจัดการงานของ Windows → กระบวนการฆ่าjava.exe
และเริ่มบริการอีกครั้ง
/safeRestart
ไม่พร้อมใช้งานให้ใช้/safeExit
ก่อนรีสตาร์ทด้วยตนเอง
หากคุณใช้งาน Jenkins บน Mac OS X คุณสามารถหยุดบริการด้วยตนเองโดยดำเนินการคำสั่งนี้:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
load
สิ่งนี้สามารถทำได้โดยใช้Jenkins CLI :
java -jar jenkins-cli.jar -s http://[jenkins-server]/ restart
ไฟล์พร้อมกับรายการเต็มรูปแบบของคำสั่งที่มีให้บริการที่jenkins-cli.jar
http://[jenkins-server]/cli
หากคุณต้องการเพียงแค่โหลดไฟล์การกำหนดค่าใหม่ก็สามารถทำได้
<jenkins_url>/reload
สิ่งนี้เร็วกว่าหากคุณทำการเปลี่ยนแปลงเล็กน้อยในไฟล์กำหนดค่าเช่นconfig.xml
ในระบบไฟล์โดยตรงหรือทำสำเนาของงานผ่านระบบไฟล์ (ไม่ใช่ผ่านเบราว์เซอร์)
ขึ้นอยู่กับว่าเจนกินส์เริ่มต้นอย่างไร
เป็นบริการ: sudo service jenkins restart
, sudo /etc/init.d/jenkins restart
ฯลฯ
เป็นเว็บแอปพลิเคชันในการติดตั้ง Tomcat: รีสตาร์ท Tomcat ของคุณหรือเพียงแค่รีสตาร์ทแอปพลิเคชันใน Tomcat ไปhttp://<tomcat-server>:8080/manager/list
หรือหลังจากการตรวจสอบการตี+http://<tomcat-server>:8080/manager/stop?path=/myapp
http://<tomcat-server>:8080/manager/start?path=/myapp
เปิดตัวด้วย just java -jar
: kill it ( kill -9 <pid>
) และเปิดใช้อีกครั้ง
เปิดตัวด้วยjava -jar
แต่จากหัวหน้างาน:supervisorctl restart jenkins
java -jar jenkins-cli.jar -s http://jenkins.example.com:8080/ -i /root/.ssh/id_rsa safe-restart
ไปที่การติดตั้ง Jenkins เปิด cmd และเรียกใช้:
หากต้องการหยุด:
jenkins.exe stop
เริ่ม:
jenkins.exe start
ในการรีสตาร์ท:
jenkins.exe restart
บางครั้งจะมีกระบวนการเจนกินส์ที่เก่าแก่เกินไปดังนั้นps -ef | grep jenkins
ฆ่าพวกมันทั้งหมด รีสตาร์ทตามที่อธิบายไว้ในคำตอบก่อนหน้านี้และมันจะสะอาด
ps -ef | grep jenkins
sudo kill -kill <pid>
ถ้าคุณใช้ FreeBSD:
/usr/local/etc/rc.d/jenkins restart
ถ้าคุณมีความสามารถที่จะเข้าถึงได้ในเว็บเบราเซอร์เพียงเพิ่มตัวอย่างเช่น/restart
localhost:8080/restart
หากคุณใช้บริการเป็นบริการจากนั้นเข้าสู่เซิร์ฟเวอร์ของคุณและดำเนินการคำสั่ง:
sudo service jenkins stop/start
สำหรับการรีสตาร์ทเจนกินส์ด้วยตนเองโดยใช้เบราว์เซอร์:
ป้อนwww.jenkins-ip/restart
(ตัวอย่างhttp://localhost:8080/restart
) ของคุณในเบราว์เซอร์ เจนกินส์จะรีสตาร์ทและโหลดหน้าเข้าสู่ระบบโดยอัตโนมัติหลังจากรีสตาร์ท
JenkinURL / restart จะทำการรีสตาร์ท
/usr/local/etc/rc.d/jenkins restart
/usr/local/etc/rc.d/jenkin
ไม่ใช่ URL (?) คุณสามารถทำอย่างละเอียด?
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
จากสถานี:
sudo service jenkins restart
jenkinsurl/restart
หรือ
มีหลายคนที่กล่าวถึงความจำเป็นในการรีสตาร์ทคอนเทนเนอร์ servlet ถ้า Jenkins ไม่ได้ทำงานเป็นสแตนด์อโลน แต่ Tomcat (หรือสิ่งที่ใช้) ไม่จำเป็นต้องเริ่มต้นใหม่ Tomcat สามารถบังคับให้เริ่มการทำงานของบริบทเจนกินส์ถ้าเจนกินส์รีสตาร์ทของคุณหยุดทำงาน
แต่เพื่อพูดถึงความคิดเห็นอื่นเมื่อคุณให้เจนกินส์เข้าสู่โหมด "ปิดระบบ" มันจะไม่ปิดตัวลงจริงๆ มันหยุดงานใหม่จากการดำเนินการและวางแบนเนอร์สีแดงขนาดยักษ์บนหน้าระบบเพื่อให้ทุกคนรู้ว่าผู้ดูแลระบบต้องการที่จะลงในที่สุด มีปลั๊กอินที่จะทริกเกอร์การรีสตาร์ทคอนเทนเนอร์ servlet สำหรับบริบทนั้นหลังจากบิลด์ทั้งหมดเสร็จสมบูรณ์
ทางเลือกคือรอจนกว่างานที่ทำล่าสุดจะเสร็จสมบูรณ์จากนั้นจึงเตะ Jenkins ออกจากคอนเทนเนอร์ด้วยตนเอง (หรือผ่านตัวเลือกบรรทัดคำสั่งที่ผู้อื่นพูดถึงสำหรับการติดตั้ง Jenkins แบบสแตนด์อโลน)
หากถูกปรับใช้เป็นไฟล์ war ให้รีสตาร์ทแอ็พพลิเคชันเซิร์ฟเวอร์ตัวอย่างเช่น Tomcat
สำหรับCentOS :
sudo systemctl restart jenkins
sudo systemctl status Jenkins
เจนกินส์จะกระตือรือร้นและวิ่งขึ้นไปบน PID
หากอยู่ในคอนเทนเนอร์ Docker คุณสามารถรีสตาร์ทคอนเทนเนอร์ของคุณได้ สมมติว่าชื่อคอนเทนเนอร์คือjenkins
เพื่อให้คุณสามารถ:
docker restart jenkins
หรือ
docker stop jenkins
docker start jenkins
คุณมีตัวเลือกมากมายในการรีสตาร์ท Jenkins ด้วยตนเอง แต่ส่วนใหญ่เป็นสอง (URL หรือบรรทัดคำสั่ง):
ทางเลือก 1:การใช้ URL การติดตั้ง Jenkins:
Jenkins_URL/restart
.
ตัวอย่าง: http://jenkinsserver.com/restart
การรีสตาร์ทชนิดนี้บังคับให้รีสตาร์ทโดยไม่ต้องรอการสร้างให้เสร็จสมบูรณ์
หากคุณต้องการรอให้งานสิ้นสุดลงคุณสามารถใช้:
Jenkins_URL/safeRestart
.
ตัวอย่าง: http://jenkinsserver.com/safeRestart
ทางเลือกที่ 2:การใช้บรรทัดคำสั่งขึ้นอยู่กับการติดตั้ง Jenkins ของคุณ
หากคุณกำลังติดตั้งโดยใช้rpmหรือdebแพ็คเกจหรือคุณมีการติดตั้ง Jenkins ในRed Hat , UbuntuหรือDebianคุณสามารถใช้คำสั่งเหล่านี้:
sudo service jenkins restart
รีสตาร์ท Jenkins ในขั้นตอนเดียว
sudo service jenkins stop
และsudo service jenkins start
,
รีสตาร์ตนี้เจนกินส์ในสอง steeps
หมายเหตุ: หากคุณต้องการตรวจสอบสถานะเจนกินส์คุณสามารถใช้คำสั่งนี้:
sudo service jenkins status
หากคุณใช้CentOSคุณสามารถใช้คำสั่งนี้:
sudo systemctl restart jenkins
หมายเหตุ: หากคุณต้องการตรวจสอบสถานะเจนกินส์คุณสามารถใช้คำสั่งนี้:
sudo systemctl status Jenkins
เรียกดูhttp: // [jenkins-server-url] / updateCenter / และเพียงตรวจสอบ 'restart jenkins'
ลองด้านล่าง มันใช้งานได้สำหรับฉัน
sudo service jenkins status
มันจะให้ PID ของเจนกินส์ ตอนนี้ทำ
kill -15 [PID]
sudo service jenkins start
หากไม่มีอะไรทำงานแล้วหากระบวนการเจนกินส์โดย
ps aux | grep java
แล้วฆ่ามัน:
kill -9 [PID]
sudo service jenkins start
แก้ไข: ค้นหากระบวนการ java ที่เกี่ยวข้องกับเจนกินส์
หากคุณไม่มีสิทธิ์หรือเข้าถึงบรรทัดคำสั่งโดยตรงคุณสามารถทำได้เช่นหนึ่งในสิ่งต่อไปนี้:
ทั้งสองข้างต้นเป็นแฮ็ก แต่ฉันใช้มันอย่างแข็งขันในสภาพแวดล้อมที่ จำกัด ซึ่งไม่มีใครอยากให้ฉันรีสตาร์ทเจนกินส์
หากคุณใช้ Jenkins เป็นเซิร์ฟเวอร์บนเครื่อง Windows ให้เปิดตัวจัดการงานและสลับไปที่แท็บบริการ ค้นหาเจนกินส์แล้วรีสตาร์ท