Có thể có một Máy chủ Jenkins không có nút nô lệ không?


9

Trong nhóm của tôi, chúng tôi có một máy chủ Jenkins với một nút chính và một nút nô lệ trong cùng một máy chủ. Chúng tôi sử dụng Jenkins Pipelines và bao quanh mọi thứ với node{}.

Trong nhóm của một đồng nghiệp, tôi đã thấy rằng, vì một số lý do, họ có một nút chính và không có nút phụ . Tất cả các bản dựng của họ chạy trong nút chủ.

Câu hỏi:

  • Đây có phải là một thực hành xấu?
  • Có bất kỳ hậu quả xấu nào khi chỉ có một nút chủ không?
  • Là thiết lập của tôi (một chủ & một nô lệ) là một thực hành xấu?

Câu trả lời:


12

https://wiki.jenkins.io/display/JENKINS/Jenkins+Best+Practices

Trong các hệ thống lớn hơn, đừng xây dựng trên bản gốc.

Nếu bạn có một thiết lập bảo mật phức tạp hơn, cho phép một số người dùng chỉ định cấu hình công việc, nhưng không quản lý Jenkins, bạn cần ngăn họ chạy các bản dựng trên nút chính, nếu không họ có quyền truy cập không hạn chế vào thư mục JENKINS_HOME. Bạn có thể làm điều này bằng cách đặt số thực thi thành 0. Thay vào đó, hãy chắc chắn rằng tất cả các công việc chạy trên nô lệ. Điều này đảm bảo rằng chủ jenkins có thể mở rộng quy mô để hỗ trợ nhiều công việc hơn và nó cũng bảo vệ các bản dựng khỏi việc sửa đổi dữ liệu có khả năng nhạy cảm trên $ JENKINS_HOME một cách vô tình / độc hại. Nếu bạn cần một số công việc để chạy trên bản gốc (ví dụ: bản sao lưu của chính Jenkins), hãy sử dụng Plugin Hạn chế công việc để hạn chế những công việc nào có thể được thực thi ở đó.


Một nút chủ và không có nút phụ. Tất cả các bản dựng của họ chạy trong nút chủ. Đây có phải là một thực hành xấu?

Chạy các công việc trên các nút chính có nghĩa là các công việc có quyền truy cập không hạn chế vào thư mục JENKINS_HOME

Có bất kỳ hậu quả xấu nào khi chỉ có một nút chủ không?

Vì các nô lệ có quyền truy cập không hạn chế vào thư mục JENKINS_HOME, điều này có thể không an toàn

Là thiết lập của tôi (một chủ & một nô lệ) là một thực hành xấu?

Nó là tốt hơn so với chỉ một chủ miễn là tất cả các công việc chạy trên nô lệ


Tóm lại, từ góc độ bảo mật, việc điều hành các công việc trên chủ là một thực tế tồi.


5

Có một số tình huống chạy các công việc trên nút chính là tốt, nhưng bạn phải cẩn thận. Giống như câu trả lời khác được đề cập, nói chung việc chạy các công việc trên bản gốc là một thực tiễn tồi vì các công việc không được đóng hộp trên nút chính.

Điều đó đang được nói, đôi khi bạn muốn chạy các công việc trên nút chủ. Chẳng hạn, hai trong số các công việc trên bản cài đặt Jenkins của tôi là:

  • tìm các công việc có phụ thuộc đã được cập nhật và lên lịch xây dựng cho chúng theo các phiên bản mới của phụ thuộc
  • tìm các yêu cầu kéo mở chưa được xây dựng và lên lịch xây dựng cho chúng

Tôi (với tư cách là quản trị viên Jenkins) hoàn toàn kiểm soát các công việc này, cả hai công việc cụ thể này đều không chạm vào bất kỳ tệp nào trên đĩa (về cơ bản chúng là các công việc "meta"), tôi muốn chúng có thể chạy ngay cả khi tất cả các vị trí thực thi trên nô lệ của tôi đang bận, và tôi thích những công việc này không chặn những công việc quan trọng hơn trong hàng đợi. Vì những lý do này, tôi cho phép hai công việc này - và chỉ hai công việc này - chạy trên nút chính.

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.