maven 学习---Maven构建自动化-Hudson
2016-04-28 20:37
399 查看
建立自动化定义场景,依赖项目建设过程中被启动,一旦项目生成成功完成,以确保相关的项目是稳定的。
app-web-ui 项目使用1.0-SNAPSHOT总线核心API项目
app-desktop-ui 项目使用总线核心API项目的1.0-SNAPSHOT
bus-core-api 项目
现在,app-web-ui和app-desktop-ui项目团队需要自己编译过程应该揭开序幕,每当bus-core-api项目的变化。
使用快照确保应使用最新的bus-core-api 项目,但要满足上面我们需要做一些额外的要求。
添加一个生成后的目标bus-core-api POM的应用程序 app-web-ui 和app-desktop-ui 的基础之上。
使用持续集成(CI)的服务器像哈德森自动管理构建自动化。
让我们打开命令控制台,进入到C: > MVN > bus-core-api目录,然后执行以下命令mvn命令。
Maven将开始构建项目bus-core-api。
一旦bus-core-api构建成功,Maven将开始构建应用程序app-web-ui
一旦app-web-ui 构建成功,Maven将开始构建app-desktop-ui项目
哈德森(Hudson )认每个项目生成的工作。一旦一个项目的代码签入到SVN(或映射到哈德森任何源管理工具),哈德森开始它的构建工作,一旦这项工作得到完成,它会自动启动其他相关工作(其他相关项目)。
在上面的例子中,当bus-core-ui 源代码SVN更新,哈德森开始它的构建。一旦构建成功。哈德森自动查找相关的项目,并开始构建app-web-ui 和app-desktop-ui 项目。
标签:Maven 构建 自动化 建立 自动化 定义 场景
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:http://www.yiibai.com/maven/maven_build_automation.html
实例
考虑一个团队正在开发一个项目总线核心API上的其他两个项目的应用程序,网页UI和应用程序的桌面UI的依赖。app-web-ui 项目使用1.0-SNAPSHOT总线核心API项目
<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>app-web-ui</groupId> <artifactId>app-web-ui</artifactId> <version>1.0</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>bus-core-api</groupId> <artifactId>bus-core-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> </project>
app-desktop-ui 项目使用总线核心API项目的1.0-SNAPSHOT
<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>app-desktop-ui</groupId> <artifactId>app-desktop-ui</artifactId> <version>1.0</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>bus-core-api</groupId> <artifactId>bus-core-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> </project>
bus-core-api 项目
<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> </project>
现在,app-web-ui和app-desktop-ui项目团队需要自己编译过程应该揭开序幕,每当bus-core-api项目的变化。
使用快照确保应使用最新的bus-core-api 项目,但要满足上面我们需要做一些额外的要求。
添加一个生成后的目标bus-core-api POM的应用程序 app-web-ui 和app-desktop-ui 的基础之上。
使用持续集成(CI)的服务器像哈德森自动管理构建自动化。
使用Maven
更新总线核心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> <build> <plugins> <plugin> <artifactId>maven-invoker-plugin</artifactId> <version>1.6</version> <configuration> <debug>true</debug> <pomIncludes> <pomInclude>app-web-ui/pom.xml</pomInclude> <pomInclude>app-desktop-ui/pom.xml</pomInclude> </pomIncludes> </configuration> <executions> <execution> <id>build</id> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> <build> </project>
让我们打开命令控制台,进入到C: > MVN > bus-core-api目录,然后执行以下命令mvn命令。
C:MVNus-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:MVNus-core-ui arget 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:MVNapp-web-ui arget 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:MVNapp-desktop-ui arget app-desktop-ui-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] -------------------------------------------------------------------
使用Maven持续集成服务
使用CI服务器更适合作为开发人员不需要更新的bus-core-api I项目的POM每次一个新的项目,例如 app-mobile-ui添加作为bus-core-api 项目相关的项目。哈德森Hudson 自动管理使用Maven的依赖管理构建自动化。哈德森(Hudson )认每个项目生成的工作。一旦一个项目的代码签入到SVN(或映射到哈德森任何源管理工具),哈德森开始它的构建工作,一旦这项工作得到完成,它会自动启动其他相关工作(其他相关项目)。
在上面的例子中,当bus-core-ui 源代码SVN更新,哈德森开始它的构建。一旦构建成功。哈德森自动查找相关的项目,并开始构建app-web-ui 和app-desktop-ui 项目。
标签:Maven 构建 自动化 建立 自动化 定义 场景
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:http://www.yiibai.com/maven/maven_build_automation.html
相关文章推荐
- 使用有限状态机(FSM)编写的敌人AI
- C++数据类型转换二
- ifndef/define/endif作用和用法
- 开始写Java项目
- 2016传智播客最强一期PHP培训 第34期PHP培训视频教程
- BitKeeper与Linux,git史前琐事
- centos 安装部署docker与局域网主机相通详细配置
- 级联引用完整性约束ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
- .NET的优点(转载)
- android 读写txt文件
- wpa_supplicant移植安装
- UVA 11136 Hoax or what set
- Flask-SQLAlchemy获取一个字段里去掉重复的数据
- 17、登录案例
- POJ3487 The Stable Marriage Problem
- Linux-SHELL中sh和bash的区别
- 【转】理解cookie和session机制
- B - 敌兵布阵 线段树的点
- eMule 协议中的一些基本概念
- 第 12 章 CSS 入门