2013-09-27 42 views
6

Tôi đã định cấu hình công việc Jenkins để xây dựng dự án Maven 3 và đã bật plugin "Xây dựng bản phát hành Maven" và cũng đã thêm hành động hậu xây dựng để triển khai các hiện vật vào kho lưu trữ Nexus.Làm cách nào để cấu hình Jenkins không triển khai vào kho lưu trữ Maven trừ khi tôi đang thực hiện một bản phát hành bản phát hành?

Tuy nhiên, tôi không muốn các tạo phẩm được triển khai trừ khi người dùng đã khởi tạo bản dựng bằng cách nhấp vào liên kết "Thực hiện phát hành Maven" thay vì nút "Tạo ngay bây giờ". Khi nhấp vào "Xây dựng ngay bây giờ", tôi chỉ muốn một bản dựng nhanh không được triển khai ở bất kỳ đâu.

Tôi hiểu từ tài liệu mà tôi có thể sử dụng biến môi trường có tên IS_M2RELEASEBUILD để kiểm soát hành vi này. Biến môi trường này được đặt thành true bởi Plugin phát hành M2 khi xây dựng được khởi tạo thông qua liên kết "Thực hiện phát hành Maven". Nhưng hành động xây dựng bài đăng hoàn toàn bỏ qua điều này.

Jenkins Settings

Tôi đang sử dụng Jenkins LTS 1.509.3 và Maven 3.0.5.

CẬP NHẬT: Xin lưu ý rằng tôi không tìm cách giải quyết bằng cách sử dụng Trình phát hành Maven trong POM. Mục tiêu của tôi là tạo ra một công việc Jenkins đơn lẻ hoạt động như CI build (không triển khai ảnh chụp nhanh) được kích hoạt bởi các check-in và có thể sử dụng cùng một công việc để thực hiện việc xây dựng bản phát hành bằng cách sử dụng plugin Jenkins M2 Release.

+0

Cách thay đổi phiên bản thành SNAPSHOT và xác định kho lưu trữ ảnh chụp nhanh? –

+1

@AbhijithNagarajan Tôi không thấy một cách để có 2 hành động sau khi xây dựng (một cho phát hành và một cho ảnh chụp) và tôi nghĩ rằng tôi sẽ có một vấn đề tương tự tìm cách để thực hiện có điều kiện một hoặc khác. Bên cạnh đó tôi không muốn thực sự triển khai các tạo tác ảnh chụp nhanh. –

+0

Tại sao bạn không sử dụng maven để triển khai các tạo tác của bạn? –

Trả lời

2

Hãy xem trên Flexible Publish Plugin:

Tôi nghĩ bạn có thể dễ dàng kiểm tra biến môi trường của bạn chống lại yêu cầu mẫu

enter image description here

và kích hoạt đúng bài build hành động (xin lỗi, không có triển khai để maven)

enter image description here

1

Nếu bạn thêm triển khai hành động cho các mục tiêu phát hành maven, sau đó bạn không cần một bước riêng trong công việc Jenkins. Những mục tiêu này chỉ được thực thi khi phát hành: thực hiện. Một cái gì đó như:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <configuration> 
    <goals>deploy</goals> 
    </configuration> 
</plugin> 

Peter Schuetze đã trả lời câu hỏi này và có lẽ nên đăng câu trả lời này để nhận tiền thưởng.

0

Nhận xét của tôi cho câu hỏi rõ ràng là câu trả lời. ;)

bạn không thể thêm mục tiêu triển khai vào mục tiêu phát hành? Tôi đoán rằng sau đó nó sẽ chỉ được thực hiện, nếu nó là một bản phát hành.

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