Làm thế nào để tắt Jenkins của tôi một cách an toàn?


77

Tôi điều hành Jenkins trong vùng chứa riêng của nó. Tôi sử dụng lệnh "nohup java -jar jenkins.war --httpsPort = 8443".

Làm cách nào để tắt nó một cách an toàn? Ngay bây giờ, tôi sử dụng lệnh kill để kết thúc quá trình.


Vui lòng xác định ý bạn là "an toàn". Ý bạn là Jenkins sẽ không đóng cửa nếu nó đang trong quá trình xây dựng? Hay chỉ đơn thuần là Jenkins tắt sạch mà không làm hỏng bất kỳ tệp cấu hình nào?
sti

cả hai tức là không shutdown nếu nó ở giữa một xây dựng và đóng cửa sạch
user1164061


4
Thiếu trong tất cả các câu trả lời trên trang này là http://yourjenkins/quietDown. Điều này sẽ đảm bảo các bản dựng mới không chạy nhưng vẫn tiếp tục chạy các bản dựng hiện có. Ngoài ra, khi đưa Jenkins lên, bạn có thể muốn xóa hàng đợi: github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/…
Mike D

Câu trả lời:


17

Có, giết sẽ ổn nếu bạn đang chạy Jenkins với vùng chứa Winstone được tích hợp sẵn. Trang Jenkins Wiki này có một số mẹo về cách thiết lập tập lệnh điều khiển cho Jenkins.


112

Sử dụng http://[jenkins-server]/exit

Trang này hiển thị cách sử dụng các lệnh URL.


Tùy chọn URL http: // [Jenkins-server] / [command] nơi [command] có thể thoát Jenkins tắt máy khởi động lại Jenkins restart lại để tải lại cấu hình
lft93ryt

56

Nếu bạn muốn dừng jenkins và tất cả các dịch vụ của nó trên máy chủ bằng bảng điều khiển Linux (ví dụ: Ubuntu), hãy chạy:

service jenkins start/stop/restart

Điều này hữu ích khi bạn cần chụp nhanh hình ảnh / ổ đĩa và bạn muốn tất cả các dịch vụ ngừng ghi vào đĩa / ổ đĩa.


4
Câu trả lời này giả định rằng Jenkins đã được cài đặt bằng gói Debian hoặc RPM, không phải lúc nào cũng vậy.
gareth_bowles

27
  1. jenkinsUrl / safeRestart - Hãy để bạn đợi chạy JOBS hoàn tất và thực hiện RESTART.
  2. jenkinsUrl / restart - Khởi động lại ngay lập tức mà không cần đợi các công việc đang chạy hiện tại.
  3. jenkinsUrl / exit - Nó dừng / tắt các dịch vụ JENKINS
  4. jenkinsUrl / reload - Để tải lại các thay đổi cấu hình.

2
Tại sao họ làm cho nó an toàn Khởi động lại và sau đó tắt máy an toàn thay vì SafeShutdown? Chính những mâu thuẫn như thế này đã khiến các nhà phát triển vượt lên (và buộc chúng tôi phải tra cứu mọi thứ trên StackOverflow). </rant> Tính năng tắt an toàn của FYI không còn hoạt động.
Colin

25

Danh sách đầy đủ các lệnh có sẵn tại http://your-jenkins/cli

Lệnh tắt hoàn toàn là http://your-jenkins/safe-shutdown

Bạn cũng có thể muốn sử dụng http://your-jenkins/safe-restart


/ safe-restart không hoạt động với cài đặt Jenkins của tôi. Nó có đi kèm với một phiên bản hoặc plugin cụ thể không?
Lordalcol

4
Rõ ràng với Jenkins phiên bản 1.5+ có URL được hỗ trợ / safeRestart.
Lordalcol,

7
Để một cách an toàn (ví dụ: chờ công việc) hãy khởi động lại - http://your-jenkins/safeRestart. Để thoát ra an toàn -http://your-jenkins/safeExit
kevinmm

8

Bạn có thể giết Jenkins một cách an toàn. Nó sẽ bắt SIGTERM và SIGINT và thực hiện tắt máy có trật tự. Tuy nhiên, nếu Jenkins đang trong quá trình xây dựng thứ gì đó, nó sẽ hủy bỏ quá trình xây dựng và chúng sẽ hiển thị màu xám trong màn hình trạng thái.

Nếu bạn muốn tránh điều này, bạn phải đặt Jenkins vào chế độ tắt máy để ngăn nó bắt đầu các bản dựng mới và đợi cho đến khi các bản dựng hiện đang chạy hoàn tất trước khi giết Jenkins.

Bạn cũng có thể sử dụng giao diện dòng lệnh Jenkins và yêu cầu Jenkins tắt máy an toàn, thao tác này cũng tương tự. Bạn có thể tìm thêm thông tin về Jenkins cli tại http: // YOURJENKINS / cli


... và có vẻ như nếu nó không phản hồi với SIGINT và SIGTERM, thì có lẽ SIGKILL là hợp lý (mặc dù có lẽ không 'an toàn').
sage

2

Tạo một Công việc Jenkins chạy trên Master:

java -jar "%JENKINS_HOME%/war/WEB-INF/jenkins-cli.jar" -s "%JENKINS_URL%" safe-restart

2

Bạn cũng có thể xem trong vùng tập lệnh init (ví dụ: centos vi /etc/init.d/jenkins) để biết chi tiết về cách dịch vụ thực sự được khởi động và dừng.


1

Ngay lập tức tắt máy chủ Jenkins.

Trong Windows CMD.exe, Đi tới thư mục chứa jenkins-cli.jartệp.

C:\Program Files (x86)\Jenkins\war\WEB-INF

Sử dụng lệnh để tắt máy an toàn

java -jar jenkins-cli.jar -s http://localhost:8080 safe-shutdown --username "YourUsername" 
--password "YourPassword"

Danh sách đầy đủ các lệnh có tại http: // localhost: 8080 / cli

Tín dụng cho Francisco đăng clilệnh.

Tài liệu tham khảo:

1.

Hy vọng sẽ giúp ai đó.

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.