Làm thế nào để khởi động lại Jenkins bằng tay?


816

Tôi mới bắt đầu làm việc với Jenkins và đã gặp phải một vấn đề. Sau khi cài đặt một số plugin, nó cho biết cần phải khởi động lại và chuyển sang chế độ "tắt", nhưng không bao giờ khởi động lại.

Làm thế nào để tôi khởi động lại bằng tay?


34
Lưu ý: "Jenkins đang tắt" không thực sự tắt, nó chỉ thông báo cho những người dùng khác nhau có thể muốn xây dựng một cái gì đó mà Jenkins sẽ sớm được khởi động lại.
Khez

1
Một cái gì đó cần lưu ý rằng tôi đã không nhận thấy rằng bất kỳ ai khác đã đề cập ... Nếu bạn đặt Jenkins ở chế độ tắt máy thì nó không thực sự tắt, điều này đã được đề cập. Điều không được lưu ý là nó dừng các bản dựng mới bắt đầu. Nếu bạn cần để bản dựng hoàn tất trước khi khởi động lại, bạn nên đặt Jenkins ở chế độ tắt máy, hãy để bản dựng của bạn kết thúc và sau đó thực hiện "khởi động lại" với bất kỳ phương pháp nào bạn chọn ở trên.
TheRedSeth

Do phiên bản 1.442 Jenkins không cần phải khởi động lại sau khi cài đặt (các) trình cắm mới, hãy sử dụng Cài đặt cài đặt mà không cần khởi động lại . Thật không may, tính năng này sẽ không hoạt động để cập nhật hoặc gỡ cài đặt.
luka5z

Câu trả lời:


1942

Để khởi động lại Jenkins theo cách thủ công, bạn có thể sử dụng một trong các lệnh sau (bằng cách nhập URL của chúng trong trình duyệt):

(jenkins_url)/safeRestart- Cho phép tất cả các công việc đang chạy để hoàn thành. Các công việc mới sẽ vẫn ở trong hàng đợi để chạy sau khi khởi động lại hoàn tất.

(jenkins_url)/restart - Buộc khởi động lại mà không cần chờ bản dựng hoàn thành.


14
Đối với safeRestart, xem stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart (nếu được cài đặt bằng vòng / phút hoặc gỡ lỗi, nếu không thì điều chỉnh cho phù hợp).
clacke

13
Điều này gây ra một RestartNotSupportedExceptiontrong Jenkins 1.532.1 với IcedTea 2.3.9. sudo /etc/init.d/jenkins restartlàm việc cho tôi mặc dù.
Matthias Braun

4
Trong Windows, sử dụng dịch vụ Windows thay vì dòng lệnh.
Mag

8
Có bất kỳ liên kết nội bộ nào từ jenkins để làm điều này thay vì ghi nhớ url ma thuật không?
rogerdpack

5
Đây có phải là không có sẵn trong web gui?
realtebo

182

Nếu bạn cài đặt như một vòng / phút hoặc deb , thì nó service jenkins restartcũng sẽ hoạt động.


115

Trên Ubuntu hoặc Debian, khi được cài đặt qua apt-get/ 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- nói QUAN TRỌNG: Không khởi chạy các phương thức bắt đầu | dừng | khởi động lại thủ công như $ sudo /etc/init.d/jenkins start | stop | restart vì nó làm cho dịch vụ của bạn không đáng tin cậy khi nó lấy môi trường từ người dùng root, trái ngược với môi trường trống đáng tin cậy được thiết lập bởi các trình khởi chạy init (dịch vụ / systemctl ).
battey

96

Các SafeRestart Plugin cần phải được đề cập. Nó khá hữu ích ( Khởi động lại một cách an toàn ). Nó thêm một liên kết để có thể khởi động lại từ menu chính:

Nhập mô tả hình ảnh ở đây


Tôi thường sử dụng tính năng này để cài đặt plugin.
imdibiji

Điều kỳ lạ là plugin này không được bao gồm theo mặc định.
hình

70

Các lệnh dưới đây hoạt động với tôi trong Red Hat Linux và cũng sẽ hoạt động với Ubuntu.

  • Để biết tình trạng của Jenkins:

    sudo service jenkins status
    
  • Để bắt đầu Jenkins:

    sudo service jenkins start
    
  • Để ngăn chặn Jenkins:

    sudo service jenkins stop
    
  • Để khởi động lại Jenkins:

    sudo service jenkins restart
    

Demo trên dấu nhắc lệnh:

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

Những người đang sử dụng windows

Mở Console / Dòng lệnh -> Chuyển đến thư mục cài đặt Jenkins của bạn. Thực hiện các lệnh sau tương ứng:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart


37

Trên Windows, nếu bạn cài đặt nó như một dịch vụ, hãy đến dịch vụ ( Bắt đầuRun : services.msc), tìm Jenkins, nhấp chuột phải → Restart .

Nếu nó không giúp (UI không phản hồi), hãy mở Trình quản lý tác vụ Windows → Các quy trình , hủy java.exequy trình và khởi động lại dịch vụ một lần nữa.


7
cố gắng tiếp cận / safeRestart trên windows sẽ dẫn đến: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: Vòng đời Windows mặc định không hỗ trợ khởi động lại.
x29a

1
Khi /safeRestartkhông có sẵn, sử dụng /safeExittrước khi khởi động lại bằng tay.
Jesse Glick

19

Nếu bạn đang chạy Jenkins trên Mac OS X thì bạn có thể tự dừng dịch vụ bằng cách thực hiện lệnh này:

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

1
sau đó bạn có thể khởi động lại bằng cách sử dụngload
kraftydevil

17

Điều này cũng có thể được thực hiện bằng cách sử dụng Jenkins CLI :

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

Các jenkins-cli.jartập tin cùng với một danh sách đầy đủ các lệnh có sẵn tại http://[jenkins-server]/cli.


12

Nếu bạn muốn tải lại tập tin cấu hình, bạn có thể làm

    <jenkins_url>/reload

Việc này nhanh hơn nếu bạn đã thực hiện một số thay đổi nhỏ trong tệp cấu hình, như config.xmltrực tiếp trong hệ thống tệp hoặc tạo bản sao của công việc thông qua hệ thống tệp (không qua trình duyệt).


10

Nó phụ thuộc vào cách Jenkins đã được bắt đầu.

  • Là một dịch vụ: sudo service jenkins restart, sudo /etc/init.d/jenkins restartvv

  • Là một ứng dụng web trong bản cài đặt Tomcat: khởi động lại Tomcat của bạn hoặc chỉ cần khởi động lại ứng dụng trong Tomcat. Đi đến http://<tomcat-server>:8080/manager/listhoặc sau khi xác thực nhấn http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Ra mắt chỉ với java -jar: kill it ( kill -9 <pid>) và khởi chạy lại nó.

  • Ra mắt với java -jar, nhưng từ một giám sát viên:supervisorctl restart jenkins


Chỉ cần chọn bạn sử dụng trường hợp câu trả lời tốt đẹp !!
user43968


8

Trên Windows

Đi đến cài đặt Jenkins, mở cmd và chạy:

  • Dừng lại:

    jenkins.exe stop
    
  • Để bắt đầu:

    jenkins.exe start
    
  • Khởi động lại:

    jenkins.exe restart
    

8

Đôi khi sẽ có một số quy trình Jenkins cũ, vì vậy ps -ef | grep jenkinshãy tiêu diệt tất cả chúng. Khởi động lại như được mô tả trong các câu trả lời trước, và nó sẽ sạch.

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


5

Nếu bạn có thể truy cập nó trong trình duyệt web, chỉ cần thêm /restart, ví dụ , localhost:8080/restart.

Nếu bạn đang chạy nó như một dịch vụ thì hãy đăng nhập vào máy chủ của bạn và thực hiện lệnh:

sudo service jenkins stop/start

4

Để khởi động lại thủ công Jenkins bằng trình duyệt:

Nhập www.jenkins-ip/restart (ví dụ http://localhost:8080/restart:) vào trình duyệt. Jenkins sẽ tự động khởi động lại và tải trang đăng nhập sau khi khởi động lại.


3

JenkinURL / restart sẽ thực hiện khởi động lại.


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

Nhưng /usr/local/etc/rc.d/jenkinkhông phải là một URL (?). Bạn có thể xây dựng?
Peter Mortensen

3

Dành cho máy Mac

Dừng Jenkins

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

Bắt đầu Jenkins

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

3

Từ thiết bị đầu cuối:

sudo service jenkins restart

Hoặc jenkinsurl/restart.


3

Một số người đã đề cập đến sự cần thiết phải khởi động lại thùng chứa servlet nếu Jenkins không chạy dưới dạng độc lập. Nhưng Tomcat (hoặc những gì đang được sử dụng) không cần phải khởi động lại. Tomcat có thể buộc khởi động lại bối cảnh Jenkins nếu khởi động lại Jenkins của bạn bị treo.

Nhưng để giải quyết một bình luận khác, khi bạn đặt Jenkins ở chế độ "tắt", nó sẽ không thực sự tắt. Nó ngăn các công việc mới thực thi và đặt một biểu ngữ màu đỏ khổng lồ trên các trang hệ thống để mọi người biết rằng cuối cùng quản trị viên muốn gỡ nó xuống. Có các plugin để kích hoạt khởi động lại thùng chứa servlet cho bối cảnh đó sau khi tất cả các bản dựng được hoàn thành.

Cách khác là đợi cho đến khi công việc đang chạy cuối cùng hoàn thành, sau đó đá thủ công Jenkins từ container (hoặc thông qua các tùy chọn dòng lệnh mà những người khác đã đề cập để cài đặt Jenkins độc lập).


3

Nếu nó được triển khai như một tệp tin chiến tranh thì hãy khởi động lại máy chủ ứng dụng, ví dụ như Tomcat.


2

Đối với CentOS :

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins sẽ hoạt động và chạy và chạy trên một số PID.


2

Nếu nó nằm trong một container Docker, bạn có thể khởi động lại container của mình. Giả sử tên container là jenkins, vì vậy bạn có thể làm:

docker restart jenkins

Hoặc là

docker stop jenkins
docker start jenkins

Quan trọng! Trên docker - Dữ liệu Jenkins phải liên tục (bạn có thể mất các công việc đang chạy, tài nguyên, bản dựng, dữ liệu, v.v.) Vì vậy, hãy thận trọng, tốt nhất bạn KHÔNG nên sử dụng "khởi động lại" và KHÔNG sử dụng dừng và bắt đầu trên hình ảnh docker. giải pháp sẽ là: sudo docker ps -> sudo docker stop <dockerImageID> -> sudo docker start <dockerImageID>
avivamg

2

Bạn có nhiều tùy chọn để khởi động lại Jenkins theo cách thủ công, nhưng chủ yếu là hai (URL hoặc dòng lệnh):

  • Phương án 1: Sử dụng URL cài đặt Jenkins:

    Jenkins_URL/restart.

    Ví dụ: http://jenkinsserver.com/restart

    Kiểu khởi động lại này buộc khởi động lại mà không cần chờ bản dựng hoàn thành.

    Nếu bạn cần đợi kết thúc công việc, bạn có thể sử dụng:

    Jenkins_URL/safeRestart.

    Ví dụ: http://jenkinsserver.com/safeRestart

  • Phương án 2: Sử dụng dòng lệnh, tùy thuộc vào cài đặt Jenkins của bạn.

    • Nếu bạn đang cài đặt bằng gói rpm hoặc gói deb hoặc bạn có cài đặt Jenkins trong Red Hat , Ubuntu hoặc Debian , bạn có thể sử dụng các lệnh sau:

    • sudo service jenkins restart

      Điều này khởi động lại Jenkins trong một bước.

    • sudo service jenkins stopsudo service jenkins start,

      Điều này khởi động lại Jenkins trong hai dốc.

      Lưu ý: nếu bạn cần kiểm tra trạng thái Jenkins, bạn có thể sử dụng lệnh này: sudo service jenkins status

    • Nếu bạn đang sử dụng CentOS , bạn có thể sử dụng lệnh này:

      sudo systemctl restart jenkins
      

      Lưu ý: nếu bạn cần kiểm tra trạng thái Jenkins, bạn có thể sử dụng lệnh này: sudo systemctl status Jenkins




1

Hãy thử dưới đây. Nó làm việc cho tôi.

sudo service jenkins status  

Nó sẽ cung cấp cho bạn PID của Jenkins. Bây giờ làm một

kill -15 [PID]

sudo service jenkins start

3
Tự hỏi tại sao bạn không chỉ làm "(sudo) dịch vụ jenkins khởi động lại"?
nembleton

Vâng, hoàn toàn chính xác nhưng tôi đã phải đối mặt với vấn đề, đôi khi nó không hiệu quả với tôi.
Avinash Agrawal

1

Nếu không có gì hoạt động thì tìm quá trình Jenkins bằng cách

ps aux | grep java

và sau đó giết nó:

kill -9 [PID]

sudo service jenkins start

Chỉnh sửa: Tìm quá trình java có liên quan đến jenkins


4
Khá nguy hiểm khi chỉ tìm kiếm các quy trình java, bạn có nghĩ vậy không? Người ta nên grep cho một cái gì đó cụ thể hơn jenkins imo.
Tim Büthe

0

Nếu bạn không có quyền hoặc truy cập trực tiếp vào dòng lệnh, bạn có thể thực hiện, ví dụ như một trong những điều sau đây:

  1. Tạo một công việc với bước shell / batch sẽ kích hoạt khởi động lại từ thư mục cài đặt Jenkins
  2. Cài đặt / cập nhật một số plugin trong khi kiểm tra "khởi động lại sau khi cài đặt" (ít nhất là nó hoạt động trong các phiên bản cũ)

Cả hai bên trên đều là hack, nhưng tôi đã chủ động sử dụng chúng trong một môi trường rất hạn chế, nơi không ai muốn tôi khởi động lại Jenkins, huh.


0

Nếu bạn đang chạy Jenkins như một máy chủ trên máy Windows, hãy mở Trình quản lý tác vụ và chuyển sang tab dịch vụ. Tìm kiếm Jenkins và khởi động lại nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.