Archive the artifacts trong Jenkins

Archive the artifacts trong Jenkins là chức năng cho phép chúng ta có thể lưu trữ kết quả là các tập tin, sau khi chúng ta build project với Jenkins. Ví dụ như bạn có một project ứng dụng sử dụng Apache Maven để build. Thông thường chúng ta sẽ sử dụng câu lệnh “mvn clean install” để build ứng dụng Apache Maven phải không các bạn? Nếu các bạn để ý thì với câu lệnh build này, mỗi lần chạy, kết quả của lần build trước đó sẽ bị xoá đi. Chúng ta muốn lấy các tập tin cũ cũng không được. Sử dụng chức năng Archive the artifacts của Jenkins có thể giúp chúng ta giải quyết vấn đề này. Cụ thể như thế nào? Hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé!

Để làm ví dụ cho bài viết này, mình sẽ sử dụng Maven project spring-jpa trong bài viết về JPA và Spring framework. Project này đã được push lên huongdanjava.com repository sử dụng tài khoản GitHub của mình tại https://github.com/huongdanjavacom/huongdanjava.com.

OK, bây giờ, chúng ta sẽ setup Jenkins job để build project này, các bạn nhé!

Các bước để setup Jenkins job cho project này tương tự như mình đã trình bày trong bài viết Build Maven project trong Jenkins.

Kết quả sau khi cấu hình và build bình thường project này sẽ như sau:

Archive the artifacts trong Jenkins

Nếu bây giờ các bạn đi vào link Workspace trong cửa sổ trên rồi đi tới thư mục spring-data/target các bạn sẽ thấy kết quả như sau:

Archive the artifacts trong Jenkins

Tập tin spring-jpa-1.0-SNAPSHOT.jar là tập tin output của Jenkins job này đó các bạn. Và nó sẽ bị xoá để build lại mỗi khi chúng ta chạy lại Jenkins job này.

Nếu các bạn muốn giữ lại tập tin output này thì hãy cấu hình thêm cho Jenkins job này sử dụng chức năng Achive the artifacts các bạn nhé!

Để làm được điều này, các bạn, ở cửa sổ bên trái, hãy nhấn vào nút Configure để mở trang cấu hình cho Jenkins job này.

Sau đó, các bạn hãy đi đến phần Post-build Actions ở phía cuối trang. Ở đây các bạn sẽ thấy một drop menu bao gồm nhiều item, trong đó có item Archive the artifacts như sau:

Archive the artifacts trong Jenkins

Hãy chọn nó và các bạn sẽ thấy kết quả như sau:

Archive the artifacts trong Jenkins

Như các bạn thấy, ở đây chúng ta có một field cần phải cấu hình. Đó chính là thông tin về tập tin mà chúng ta cần lưu giữ. Các bạn có thể nhập chính xác tên tập tin mà các bạn cần archive (trong ví dụ của mình là “spring-jpa/target/spring-jpa-1.0-SNAPSHOT.jar”) hoặc có thể khai báo như sau để archive bất kỳ tập tin nào có extension là .jar trong thư mục target “spring-jpa/target/*.jar”.

Archive the artifacts trong Jenkins

Bây giờ thì các bạn có thể nhấn nút Save để lưu lại phần cấu hình Archive the artifacts này.

Kết quả khi các bạn build lại sẽ như sau:

Archive the artifacts trong Jenkins

Bây giờ, nếu các bạn quay lại trang chủ của Jenkins job này, các bạn sẽ thấy phần Last Successful Artifacts như sau:

Archive the artifacts trong Jenkins

Đây là phần hiển thị tập tin được lưu trữ mới nhất đó các bạn.

Nếu các bạn đi vào phần build item của Jenkins job này, các bạn cũng sẽ thấy phần Build Artifacts chứa tập tin output như sau:

Archive the artifacts trong Jenkins

Add Comment