2010-08-05 27 views
5

Ngày 1 bằng cách sử dụng Hudson để xây dựng CI của chúng tôi. Từ từ nhưng chắc chắn đang tăng tốc.Tham chiếu thông tin trong các bản dựng được chỉ định trong tham số chạy [Hudson]

Câu hỏi của tôi là về các thông số chạy. Tôi đã thấy rằng tôi có thể sử dụng chúng để tham khảo một hoạt động cụ thể của một dự án cụ thể - đó là tất cả tốt.

Điều tôi không hiểu (và không thể tìm thấy bất kỳ tài liệu nào - không có gì ở số Parameterized Build) là cách tôi tham chiếu bất kỳ điều gì trong lần chạy được xác định bởi tham số chạy.
Về cơ bản, tôi muốn tham chiếu số %BUILD_NUMBER%%SVN_REVISION% của lần chạy được chọn trong tham số chạy.

Tôi có thể làm như thế nào?

Trả lời

2

Bạn có thực sự cần thêm các giá trị thuộc tính bổ sung, thông số bổ sung cho công việc của mình không?

BUILD_NUMBERSVN_REVISION đã được định nghĩa là biến môi trường (xem Building a software project), bạn có thể sử dụng các biến đó trong công việc của mình.

Khi một công việc Hudson thực thi, nó đặt một số biến môi trường mà bạn có thể sử dụng trong kịch bản của bạn vỏ, lệnh batch hoặc script Ant

Shell Script

hay:

Ant Script

minh họa bạn đã có các giá trị đó theo ý của mình.
Bạn có thể rồi sử dụng chúng để xác định các biến/thuộc tính môi trường khác trong tập lệnh shell hoặc ant của bạn.


Khi nói đến việc vượt qua một giá trị biến từ một công việc khác, các Parameterized Trigger Plugin nên làm các trick:

Phần thông số có thể chứa một sự kết hợp của một hoặc nhiều điều sau đây:

Build parameters

  • một tập hợp các thuộc tính được xác định trước
  • tính từ một thuộc tính tập tin đọc từ không gian làm việc của kích hoạt xây dựng
  • các thông số của xây dựng hiện hành
  • "phiên bản Subversion": đảm bảo các dự án kích hoạt được xây dựng với cùng sửa đổi (s) của xây dựng kích hoạt.
    Bạn vẫn phải đảm bảo rằng các dự án đó thực sự được định cấu hình để kiểm tra các URL Subversion phù hợp.

Lưu ý: có thể có một vấn đề với Join Plugin, mà có thể không hoạt động khi các tham số Trigger là trong hành động.

+0

Tôi nghĩ đó là câu trả lời mà bạn có thể chấp nhận. Trang giải thích nó đủ tốt. –

+0

Cảm ơn, nhưng điều đó sẽ không hoạt động (tôi không nghĩ). Tôi sẽ giải thích. Chúng tôi có 2 công việc Hudson. Một trong số chúng (chúng ta hãy gọi nó là buildJob) thực hiện một build và thứ hai (chúng ta hãy gọi nó là deployJob) về cơ bản triển khai đầu ra của công việc đầu tiên đó. buildJob đưa đầu ra của nó vào một thư mục có tên: % KNOWN_FOLDER_LOCATION% \% BUILD_NUMBER%.% SVN_REVISION% Do đó deployJob cần biết số SVN_REVISION của một phiên bản buildJob đã cho là gì. Hy vọng có ý nghĩa. Nếu chúng ta không làm theo cách "bình thường" thì cũng vậy, mặc dù chúng ta đã đi quá xa để tái cấu trúc. Bất kỳ nhận xét nào được chào đón nhiều nhất. -Jamie – jamiet

+0

@jamiet: tại sao không lưu các biến đó trong một tệp (như một loại tệp '.properties'') ở cuối công việc đầu tiên và đọc chúng vào đầu thứ hai? – VonC

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