Jenkins làm việc bằng cách sử dụng VPN?


7

Có cách nào để kết nối với VPN trong suốt thời gian làm việc của Jenkins không? (tự do hoặc đường ống, tôi có thể làm việc với một trong hai).

Tôi đã quét danh sách plugin để tìm ra ai đó có thể đã phát triển một cái gì đó, nhưng trang duy nhất được tìm thấy là trang OpenConnect này không có mã thực tế được phát triển, vì vậy dường như đã bị loại bỏ.

Chúng tôi đang chạy Jenkins trên các hộp Ubuntu AWS, nếu điều đó thay đổi bất cứ điều gì. Tôi thích khả năng kết nối và ngắt kết nối trong một công việc hơn là làm mọi thứ chạy trên VPN.


Tôi chỉ muốn nhắc lại (đối với OP và những người khác có thể tìm thấy điều này) mà thực tế bạn có thể làm điều này nếu bạn vẫn đang tìm kiếm, xin hãy xem câu trả lời của tôi.
ZaxLofful

Câu trả lời:


3

Tôi nghĩ rằng rất khó, nếu không nói là không thể, để đạt được điều gì đó như thế này.

Lý do là vì khi máy chạy Jenkins được kết nối với VPN, nó cũng bị ngắt kết nối với mạng ban đầu mà nó được kết nối, điều đó có nghĩa là Jenkins trên máy đó sẽ mất kết nối với phần còn lại của thiết lập Jenkins.

Cách duy nhất có thể hoạt động là nếu sử dụng các thiết lập Jenkins một máy hoàn toàn độc lập.


Thật là một người lập dị, nhưng điều đó làm cho ý nghĩa hoàn hảo. Cảm ơn!
Alex

điều này không chính xác tại thời điểm tôi viết bình luận này, tôi cũng không nghĩ nó đã từng .... chỉ nói
ZaxLofful

@ZaxLofful Máy khách VPN ít nhất làm thay đổi bảng định tuyến làm cho mạng cục bộ không thể truy cập được (theo cách thông thường, đó là ý tôi muốn nói là "ngắt kết nối hiệu quả"). Vì vậy, ít nhất bạn cần chạy một số tập lệnh khác để khôi phục cẩn thận kết nối mà không làm suy yếu lưu lượng VPN. Và, nếu máy khách VPN không đủ thông minh để trở lại bảng định tuyến ban đầu do sự can thiệp của tập lệnh này, bạn cũng cần phải can thiệp sau khi ngắt kết nối với VPN. Donno nếu cái gì khác ngoài định tuyến cũng cần địa chỉ.
Dan Cornilescu

@DanCornilescu: Một lần nữa tôi muốn nói rằng đây không phải là hành động mặc định xảy ra, hầu hết các máy khách VPN ngày nay mặc định để phân chia đường hầm. VPN tiêu dùng được dự định để tuần hoàn một mạng sẽ không, nhưng đó không phải là những gì chúng ta đang nói ở đây.
ZaxLofful

2

Nếu bạn muốn VPN cho một nhiệm vụ jenkins, bạn sẽ muốn sử dụng plugin OpenConnect như bạn đã đề cập.

Dưới đây là các bước để làm điều đó:

Trên linux (dựa trên debian)

sudo apt-get install openconnect

Thêm các dòng sau vào cuối / etc / sudoers (cấu hình ubfox)

jenkins ALL=NOPASSWD:/usr/sbin/openconnect*
jenkins ALL=NOPASSWD:/bin/kill*

Bạn sẽ nhận được một tùy chọn trong tác vụ chạy Jenkins có tên:

Connect to Cisco AnyConnect VPN

Cũng có thể được tìm thấy ở đây: https://stackoverflow.com/questions353151072/deploy-with-jenkins-to-vpn/43357784#43357784

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.