Maven - Tự động hóa triển khai
Trong quá trình phát triển dự án, thông thường quy trình triển khai bao gồm các bước sau:
Đăng ký mã từ tất cả dự án đang thực hiện vào SVN (hệ thống kiểm soát phiên bản) hoặc kho mã nguồn và gắn thẻ nó.
Tải xuống mã nguồn hoàn chỉnh từ SVN.
Xây dựng ứng dụng.
Lưu trữ đầu ra bản dựng hoặc tệp WAR hoặc EAR vào một vị trí mạng chung.
Lấy tệp từ mạng và triển khai tệp đến nơi sản xuất.
Đã cập nhật tài liệu với ngày và số phiên bản cập nhật của ứng dụng.
Báo cáo vấn đề
Thường có nhiều người tham gia vào quá trình triển khai được đề cập ở trên. Một nhóm có thể xử lý kiểm tra mã, nhóm khác có thể xử lý xây dựng, v.v. Rất có thể bất kỳ bước nào cũng có thể bị bỏ sót do các nỗ lực thủ công liên quan và do môi trường nhiều nhóm. Ví dụ: không thể thay thế bản dựng cũ hơn trên máy mạng và nhóm triển khai đã triển khai lại bản dựng cũ hơn.
Giải pháp
Tự động hóa quá trình triển khai bằng cách kết hợp những điều sau:
- Maven, để xây dựng và phát hành các dự án.
- SubVersion, kho mã nguồn, để quản lý mã nguồn.
- Trình quản lý kho lưu trữ từ xa (Jfrog / Nexus) để quản lý các tệp nhị phân của dự án.
Cập nhật dự án POM.xml
Chúng tôi sẽ sử dụng plugin Maven Release để tạo quy trình phát hành tự động.
Ví dụ: dự án bus-core-api POM.xml.
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>bus-core-api</groupId>
<artifactId>bus-core-api</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<scm>
<url>http://www.svn.com</url>
<connection>scm:svn:http://localhost:8080/svn/jrepo/trunk/
Framework</connection>
<developerConnection>scm:svn:${username}/${password}@localhost:8080:
common_core_api:1101:code</developerConnection>
</scm>
<distributionManagement>
<repository>
<id>Core-API-Java-Release</id>
<name>Release repository</name>
<url>http://localhost:8081/nexus/content/repositories/
Core-Api-Release</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-9</version>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
<scmCommentPrefix>[bus-core-api-release-checkin]-<
/scmCommentPrefix>
</configuration>
</plugin>
</plugins>
</build>
</project>
Trong Pom.xml, sau đây là các yếu tố quan trọng mà chúng tôi đã sử dụng:
Sr.No. | Yếu tố & Mô tả |
---|---|
1 | SCM Định cấu hình vị trí SVN từ nơi Maven sẽ kiểm tra mã nguồn. |
2 | Repositories Vị trí nơi WAR / EAR / JAR được xây dựng hoặc bất kỳ hiện vật nào khác sẽ được lưu trữ sau khi tạo mã thành công. |
3 | Plugin maven-release-plugin được định cấu hình để tự động hóa quá trình triển khai. |
Maven Release Plug-in
Maven thực hiện các nhiệm vụ hữu ích sau đây bằng cách sử dụng maven-release-plugin.
mvn release:clean
Nó làm sạch không gian làm việc trong trường hợp quá trình phát hành cuối cùng không thành công.
mvn release:rollback
Khôi phục các thay đổi đã thực hiện đối với mã và cấu hình không gian làm việc trong trường hợp quá trình phát hành cuối cùng không thành công.
mvn release:prepare
Thực hiện nhiều thao tác, chẳng hạn như -
Kiểm tra xem có bất kỳ thay đổi cục bộ nào chưa cam kết hay không.
Đảm bảo rằng không có phụ thuộc SNAPSHOT.
Thay đổi phiên bản của ứng dụng và xóa SNAPSHOT khỏi phiên bản để phát hành.
Cập nhật các tệp tin pom lên SVN.
Chạy các trường hợp thử nghiệm.
Cam kết các tệp POM đã sửa đổi.
Gắn thẻ mã trong lật đổ
Tăng số phiên bản và thêm SNAPSHOT để phát hành trong tương lai.
Cam kết các tệp POM đã sửa đổi cho SVN.
mvn release:perform
Kiểm tra mã bằng cách sử dụng thẻ đã xác định trước đó và chạy mục tiêu triển khai Maven, để triển khai chiến tranh hoặc tạo tác được xây dựng vào kho lưu trữ.
Hãy mở bảng điều khiển lệnh, đi tới C:\ > MVN >bus-core-api thư mục và thực thi những điều sau mvn chỉ huy.
>mvn release:prepare
Maven sẽ bắt đầu xây dựng dự án. Sau khi xây dựng thành công, hãy chạy phần saumvn chỉ huy.
>mvn release:perform
Sau khi xây dựng thành công, bạn có thể xác minh tệp JAR đã tải lên trong kho lưu trữ của mình.