【第十四篇】- Maven 自動化構建之Spring Cloud直播商城 b2b2c電子商務技術總結
Maven 自動化構建
自動化構建定義了這樣一種場景: 在一個專案成功構建完成後,其相關的依賴工程即開始構建,這樣可以保證其依賴專案的穩定。
比如一個團隊正在開發一個專案 bus-core-api, 並且有其他兩個專案 app-web-ui 和 app-desktop-ui 依賴於這個專案。
app-web-ui 專案使用的是 bus-core-api 專案的 1.0 快照:
app-desktop-ui 專案使用的是 bus-core-api 專案的 1.0 快照:
bus-core-api 專案:
現在 app-web-ui 和 app-desktop-ui 專案的團隊要求不管 bus-core-api 專案何時變化,他們的構建過程都應當可以啟動。
使用快照可以確保最新的 bus-core-api 專案被使用,但要達到上面的要求,我們還需要做一些額外的工作。
可以使用兩種方式:
- 在 bus-core-api 專案的 pom 檔案中新增一個 post-build 目標操作來啟動 app-web-ui 和 app-desktop-ui 專案的構建。
- 使用持續整合(CI) 伺服器,比如 Hudson,來自行管理構建自動化。
使用 Maven
修改 bus-core-api 專案的 pom.xml 檔案。
開啟命令控制檯,切換到 C:\ > MVN > bus-core-api 目錄下,然後執行以下命令。
C:\MVN\bus-core-api>mvn clean package -U
執行完命令後,Maven 將開始構建專案 bus-core-api。
[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------[INFO] Building bus-core-api[INFO] task-segment: [clean, package][INFO] ------------------------------------------------------------------...[INFO] [jar:jar {execution: default-jar}][INFO] Building jar: C:\MVN\bus-core-ui\target\ bus-core-ui-1.0-SNAPSHOT.jar[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------
bus-core-api 構建成功後,Maven 將開始構建 app-web-ui 專案。
[INFO] ------------------------------------------------------------------[INFO] Building app-web-ui [INFO] task-segment: [package][INFO] ------------------------------------------------------------------...[INFO] [jar:jar {execution: default-jar}][INFO] Building jar: C:\MVN\app-web-ui\target\ app-web-ui-1.0-SNAPSHOT.jar[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------
app-web-ui 構建成功後,Maven 將開始構建 app-desktop-ui 專案。
[INFO] ------------------------------------------------------------------[INFO] Building app-desktop-ui [INFO] task-segment: [package][INFO] ------------------------------------------------------------------...[INFO] [jar:jar {execution: default-jar}][INFO] Building jar: C:\MVN\app-desktop-ui\target\ app-desktop-ui-1.0-SNAPSHOT.jar[INFO] -------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] -------------------------------------------------------------------
使用持續整合伺服器(CI)
如果使用 CI 伺服器更,我們每次的一個新專案,比如說例項中的 app-mobile-ui,新增為依賴 bus-core-api 專案時,開發者就不需要更新 bus-core-api 專案的 pom。Hudson 將會藉助 Maven 的依賴管理功能實現工程的自動化建立。
Hudson 把每個專案構建當成一次任務。在一個專案的程式碼提交到 SVN (或者任何對映到 Hudson 的程式碼管理工具)後,Hudson 將開始專案的構建任務,並且一旦此構建任務完成,Hudson 將自動啟動其他依賴的構建任務(其他依賴專案的構建)。
在上面的例子中,當 bus-core-ui 原始碼在 SVN 更新後,Hudson 開始專案構建。一旦構建成功,Hudson 自動地查詢依賴的專案,然後開始構建 app-web-ui 和 app-desktop-ui 專案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006413/viewspace-2790903/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【第十六篇】- Maven 自動化部署之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven 構建配置檔案之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven 構建生命週期之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- Maven POM之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- [第十四篇]——Docker Machine之Spring Cloud直播商城 b2b2c電子商務技術總結DockerMacSpringCloud
- Maven 構建 & 專案測試之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第八篇】- Maven 構建 Java 專案之Spring Cloud直播商城 b2b2c電子商務技術總結MavenJavaSpringCloud
- 【第五篇】-Maven 構建配置檔案之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第四篇】- Maven 構建生命週期之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第三篇】- Maven POM之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第九篇】- Maven 構建 & 專案測試之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第六篇】- Maven 倉庫之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十八篇】- Maven Eclipse之Spring Cloud直播商城 b2b2c電子商務技術總結MavenEclipseSpringCloud
- 【第十九篇】- Maven NetBeans之Spring Cloud直播商城 b2b2c電子商務技術總結MavenBeanSpringCloud
- 【第七篇】- Maven 外掛之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十二篇】- Maven 專案文件之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十三篇】- Maven 快照(SNAPSHOT)之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十五篇】- Maven 依賴管理之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- [第二篇]——Docker 架構之Spring Cloud直播商城 b2b2c電子商務技術總結Docker架構SpringCloud
- Maven 環境配置之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第二十篇】-Maven IntelliJ之Spring Cloud直播商城 b2b2c電子商務技術總結MavenIntelliJSpringCloud
- 【第十篇】- Maven 引入外部依賴之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- [第十二篇]——Docker Dockerfile之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第二篇】- Maven 環境配置之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第一篇】- Maven 系列教程之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第十一篇】- Maven 專案模板之Spring Cloud直播商城 b2b2c電子商務技術總結MavenSpringCloud
- 【第九篇】- Git 標籤之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- [第五篇]——Docker 映象加速之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- [第十三篇]——Docker Compose之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第十七篇】- Maven Web 應用之Spring Cloud直播商城 b2b2c電子商務技術總結MavenWebSpringCloud
- 【第七篇】- Git 分支管理之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- [第三篇]——CentOS Docker 安裝之Spring Cloud直播商城 b2b2c電子商務技術總結CentOSDockerSpringCloud
- [第四篇]——Windows Docker 安裝之Spring Cloud直播商城 b2b2c電子商務技術總結WindowsDockerSpringCloud
- [第六篇]——雲伺服器之Spring Cloud直播商城 b2b2c電子商務技術總結伺服器SpringCloud
- [第七篇]——Docker Hello World之Spring Cloud直播商城 b2b2c電子商務技術總結DockerSpringCloud
- 【第五篇】- Git 建立倉庫之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- [第十五篇]——Swarm 叢集管理之Spring Cloud直播商城 b2b2c電子商務技術總結SwarmSpringCloud
- [第十六篇]——Docker 安裝 CentOS之Spring Cloud直播商城 b2b2c電子商務技術總結DockerCentOSSpringCloud