2012-09-14 25 views
5

Tôi có khoảng 20 công việc sử dụng thông số chung (người dùng, mật khẩu), và đôi khi mật khẩu hết hạn ... Vì vậy, tôi phải thay đổi nó trên tất cả các công việc. và dễ bị lỗi, tôi có thể quên một).Hudson/Jenkins: chia sẻ thông số giữa nhiều công việc

Tôi nghĩ về:

  • sử dụng một loại tập tin bất động sản kỳ diệu nếu điều đó tồn tại để có trực tiếp dòng như KEY, giá trị gia tăng vào công việc thông số
  • thêm cùng một loại KEY, cặp GIÁ TRỊ trực tiếp bên trong build.xml, nhưng ở đâu? Và nó thực sự xấu xí ... Có lẽ với một XML chuyên dụng được nhúng vào trong build.xml?
  • gọi một công việc nô lệ đó sẽ (cách thức?) Đẩy lên đến phụ huynh một giá trị mong muốn ...

Như bạn có thể thấy tôi chỉ bắt đầu từ năm Hudson/Jenkins (Tôi đang sử dụng Jenkins 1.424.2.2), cảm ơn sự giúp đỡ của bạn!

EDIT: Tôi không phải là quản trị viên của instance Jenkins, vì vậy tôi không thể có quyền truy cập vào tính chất toàn cầu ...

Trả lời

0

tôi cuối cùng thành công bởi:

  • giữ thông tin được mã hóa trong một trang web
  • lấy chúng trong Hudson nhờ vào một kịch bản shell (wget), giải mã chúng, và tạo ra một tập tin build.properties trong không gian làm việc với dòng name=value (trong trường hợp của tôi ssh.password=...)

Điều này làm việc, vì các bước xây dựng Ant phát hiện tệp này và chuyển các biến bên trong vào ngữ cảnh của chúng. Nhờ đó tôi có thể tập trung thông tin đăng nhập của mình.

1

tôi có thể nghĩ đến hai phương pháp:

  • Sử dụng toàn cầu tài sản, được tìm thấy dưới Quản lý Jenkins ->Cấu hình hệ thống. Ở đây bạn có thể xác định các biến môi trường sẽ có sẵn cho tất cả các công việc.

  • Viết tập lệnh nhỏ tải xuống, sửa đổi và đăng cấu hình công việc: http://[jenkinshost]/job/[jobname]/config.xml.

Bạn có thể đọc về khả năng api dưới http://[jenkinshost]/job/[jobname]/api, đây là những gì nó nói về việc đọc và thay đổi config.xml:

Fetch/Cập nhật config.xml

Để lập trình lấy config.xml, nhấn [http://[jenkinshost]/job/[jobname]/config.xml]. Bạn cũng có thể POST tệp config.xml đã cập nhật lên cùng một URL để cập nhật cấu hình của công việc theo chương trình.

+0

Như đã nói ở trên, tôi không phải là quản trị viên, vì vậy tôi không thể truy cập các thuộc tính chung; nhưng giải pháp thứ 2 có vẻ hứa hẹn, hãy xem liệu tôi có thể quản lý để làm những gì tôi muốn chơi với nó không? – Emmanuel

6

Tới Jenkins của bạn về nhà và điều hướng:

  1. Quản lý Jenkins>
  2. Hệ thống Configure>
  3. tính toàn cầu>
  4. biến Môi trường>....
+0

Điểm tốt: vì tôi vừa chỉnh sửa, tôi không phải là quản trị viên nên tôi không thể sử dụng các thuộc tính chung (và quản trị viên sẽ không để tôi chơi với họ, chắc chắn). – Emmanuel

+1

: (bỏ lỡ chỉnh sửa vội vàng. Dù sao thì cách tiếp cận thứ 2 của Anders có vẻ là cách để đi ngay bây giờ; chúng ta có thể gọi @Koshuke :) –

+0

Oh bạn không bỏ lỡ nó, tôi vừa thêm nó bởi vì bạn đã nói về các thuộc tính toàn cầu: -) – Emmanuel

Các vấn đề liên quan