2012-01-13 25 views
5

Tôi đang sử dụng Jenkins và có bước "Lưu trữ các hiện vật" ở cuối các bản dựng của mình để lưu trữ chúng thành tệp zip.Jenkins có thể xây dựng truy cập các tạo phẩm được lưu trữ từ chính nó không?

Thay vì sử dụng bước này, tôi muốn sử dụng tập lệnh để đẩy các tạo tác đến một máy chủ từ xa ở cuối bản dựng. Máy chủ tôi đang cố gắng sử dụng yêu cầu REST API/HTTP PUT trong tập lệnh để tải tệp lên.

Lưu ý rằng tôi đang tìm cách truy cập vào tạo phẩm được tạo trong cùng một bản dựng. Vì vậy, nếu tôi đang xây dựng # 5, tôi muốn các hiện vật từ xây dựng # 5, không xây dựng # 4.

Có cách nào để truy cập tệp zip này bằng tập lệnh hay không, trong cùng một bản dựng được tạo trong đó?

Tôi cần tải lên zip này từ xa và không muốn tạo công việc khác để thực hiện việc này.

Trả lời

1

Không có cách nào mà tôi đã tìm thấy để truy cập gói "Lưu trữ các đồ tạo tác" của công trình tạo ra nó. Bước này luôn xảy ra cuối cùng trong bản dựng. Truy cập URL trước khi kết thúc xây dựng (trong khi xây dựng thông qua tập lệnh chẳng hạn) sẽ dẫn đến tệp zip trống. Để vượt qua giới hạn này, tôi đang tạo một công việc xây dựng liên kết thứ hai để lấy zip và chạy tập lệnh của tôi để triển khai nó.

4

Bạn có thể cài đặt một trong các plugin "Publish Over..." để tải lên các tạo tác của bạn ở cuối bản dựng.

Mục tiêu của plugin Xuất bản là cung cấp tập hợp nhất quán các tính năng và hành vi khi gửi các tạo phẩm xây dựng ... ở đâu đó.

Xem thêm full list of "upload" plugins để biết các phương pháp xuất bản hiện vật khác của bạn.

+0

Tôi đang sử dụng tập lệnh cURL để xác minh trên dòng lệnh tôi có thể tải lên các tạo tác của mình. Tôi có thể sẽ phải thực hiện một công việc riêng biệt để bắt đầu triển khai. Có cách nào để sử dụng Publish Over plugins cho các gói phần mềm hiện có trong zip và sau đó chạy tập lệnh của tôi không? – DonBecker

+0

Thứ bao bì có thể không nằm trong phạm vi của các plugin này.Tuy nhiên, bạn có thể tạo tệp nén làm bước xây dựng cuối cùng cho công việc của mình. –

+0

Có vẻ như tôi có thể lấy tệp zip là bước cuối cùng nhưng kết thúc là trống. Điều này có ý nghĩa như "Lưu trữ các hiện vật" đang chạy cuối cùng trong xây dựng. Tôi không thể tìm thấy bất kỳ cách nào để chạy tập lệnh trong phần Xuất bản trên plugin vì vậy tôi nghĩ rằng tôi cần tạo một công việc riêng biệt. – DonBecker

4

Giống như @Christopher nói, bạn có thể sử dụng bất kỳ Publish Over plugin trên trang Jenkins Plugins để tải lên các tạo tác với bất kỳ

Nếu bạn muốn truy cập các tập tin zip lưu trữ từ bên trong việc xây dựng bản thân, bạn có thể sử dụng liên kết sau đây để truy cập vào nó:

http://<server>/job/${JOB_NAME}/lastSuccessfulBuild/artifact/<artifact name w/folder>

Ví dụ:

  • server = myserver.com
  • việc name = myproject
  • vật = del/project.zip

URL của bạn sẽ là:

http://myserver.com/job/myproject/lastSuccessfulBuild/artifact/del/project.zip

EDIT: Câu hỏi đã được thay đổi. Trong mọi trường hợp, điều này sẽ làm việc để truy cập vào tạo phẩm của bản dựng trước đó trong phiên bản hiện tại.

+0

Nhưng URL đó sẽ truy cập vào các tạo phẩm của bản dựng * cuối cùng *, không phải bản dựng hiện tại. Do đó đề xuất của tôi để sử dụng plugin nhà xuất bản ở cuối bản dựng. –

+0

Đúng. Tuy nhiên, ông đã chỉ định rằng ông đang sử dụng "Lưu trữ các hiện vật", thường là bước cuối cùng trong một bản xây dựng - do đó đề xuất của tôi. Tôi nghĩ rằng anh ta cần truy cập vào các tạo phẩm hiện có mỗi bản dựng. – Sagar

+0

Christopher là chính xác, tôi cần phải truy cập vào các hiện vật từ việc xây dựng chúng được tạo ra. – DonBecker

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