转载】Maven + SVN + Hudson 自动编译、部署、发布
2015-09-17 23:16
253 查看
目的:实现自动化部署,省去代码开发。提高工作效率。
内容:利用开源的可持续化继承工具。实现java项目的编译、打包、发布部署等工作流程。
主要介绍3个步骤:
一、自动化部署的环境搭建;
二、Maven对java的自动化编译、打包、发布;
三、hudson对java的自动化编译、打包、发布;
一、自动化部署的环境搭建
需要安装jdk、maven、hudson、svn。
jdk的安装方法、配置此处略过。
maven 需要下载一个maven的jar包安装,并配置到环境变量中。
svn 略过。
hudson 需要下载个war包。直接放到tomcat 的webapp下即可。 启动hudson的时候会在该目录下生成一个hudson的文件夹。
hudson 默认路径为C:\Documents and Settings\user\.hudson\jobs下。我们修改路径到D:\hudson.重启tomcat。之后安装hudson用
到的插件。
记得要将Source Code Mangagement 选项下的Subversion 和CVS安装~~
否则在创建任务时,Source Code Management 下为默认的None一个选项。
安装完插件后需要重启tomcat。
下载hudson 的tomcat插件.地址如下: http://hudson-ci.org/downloads/plugins/deploy/1.9/
下载完成后打开hudson的界面.添加这个插件
系统管理--管理插件--可扩展插件 ---添加刚刚下载完成的插件。保存即可
该操作完成后必须重启huson(tomcat).生效。
安装完成之后在新建jobs时,就会多出下图的选项。对项目进行发布。
二、maven的自动化编译、部署、发布
随意进入一个文件夹。执行以下命令。会创建一个maven项目。
1.首先利用command line进入任意目录,输入
mvn archetype:create -DgroupId=com.mycompany.webapp -DartifactId=myweb -DarchetypeArtifactId=maven-archetype-webapp
注意上述命令一行输完再回车;
一定要build成功,即图中的“build successful”。
此时生成myweb文件目录,如图:
注意
此在main目录下建一个名为java的目录,把自己的代码源文件复制进去;那么main目录下resource、webapp、java都有了;这三个
缺一不可;maven项目生成后的配置文件一个都不能少。然后再command line下回到\myweb 目录下,注意一定在这个目录下,因
为pom.xml也在这个目录下,maven就是靠对pom.xml的解析进行工作,它相当于make的makefile、ant的build.xml,否则maven会提
示找不到pom文件。然后再输入mvn package打包,注意此时一定要生成target文件目录,否则hudson下的job文件夹下
的workspace就是个空的,而且war包也在下面,没有就不能发布了,就又挂了。
2.分析pom文件
<modelVersion>4.0.0</modelVersion>
<groupId>com.yourcompany</groupId>
<artifactId>myproject</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>myproject Maven Webapp</name>
<url>http://maven.apache.org</url>
<build>
<finalName>myproject</finalName>
</build>
modelVersion:此必需的元素说明了本POM所使用的模型版本。
groupId:本元素表示创建本项目的组织的唯一标识。groupId是一个项目的核心关键标识之一,它基于组织的完整属性域名。
artifactId:表示本项目的主要项目的唯一基本名。一个典型的由Maven生成的项目名称将会是如下的格式:<artifactId>-<version>.<extension>。 packaging:表示本项目所使用的包类型(JAR, WAR,EAR等)。
version:表示项目的版本,Maven对于版本管理大有帮助,你会经常看到一个版本的SNAPSHOT(快照),指示项目在开发中的不同状态。
name:项目的显示名称,常用于Maven生成的文档当中,并在构建过程中,为项目或其他的项目作为一种依赖使用。
三、hudson自动化部署、发布、编译项目到Nexus 私服。
这里我们选择maven2/3的项目。它是根据pom文件进行读取项目。
Source Code Management 这里已经描述过安装过插件后,选择Subversion项。填入svn的地址。注意一定要是svn的项目的根目
录。因为它包括pom.xml 不然会找不到pom.xml 文件就挂了。
build Trigger 要选择 SNAPSHOT.
如果要将项目部署到 Nexus服务器上 则需要在build栏里写入maven命令即可。(deploy)
deploy发布操作需要在项目编译成功后才能进行发布。
出现下图即表示编译成功。并且部署到了tomcat上。添加maven后会自动上传到私服。到私服中查看即可。
内容:利用开源的可持续化继承工具。实现java项目的编译、打包、发布部署等工作流程。
主要介绍3个步骤:
一、自动化部署的环境搭建;
二、Maven对java的自动化编译、打包、发布;
三、hudson对java的自动化编译、打包、发布;
一、自动化部署的环境搭建
需要安装jdk、maven、hudson、svn。
jdk的安装方法、配置此处略过。
maven 需要下载一个maven的jar包安装,并配置到环境变量中。
svn 略过。
hudson 需要下载个war包。直接放到tomcat 的webapp下即可。 启动hudson的时候会在该目录下生成一个hudson的文件夹。
hudson 默认路径为C:\Documents and Settings\user\.hudson\jobs下。我们修改路径到D:\hudson.重启tomcat。之后安装hudson用
到的插件。
记得要将Source Code Mangagement 选项下的Subversion 和CVS安装~~
否则在创建任务时,Source Code Management 下为默认的None一个选项。
安装完插件后需要重启tomcat。
下载hudson 的tomcat插件.地址如下: http://hudson-ci.org/downloads/plugins/deploy/1.9/
下载完成后打开hudson的界面.添加这个插件
系统管理--管理插件--可扩展插件 ---添加刚刚下载完成的插件。保存即可
该操作完成后必须重启huson(tomcat).生效。
安装完成之后在新建jobs时,就会多出下图的选项。对项目进行发布。
二、maven的自动化编译、部署、发布
随意进入一个文件夹。执行以下命令。会创建一个maven项目。
1.首先利用command line进入任意目录,输入
mvn archetype:create -DgroupId=com.mycompany.webapp -DartifactId=myweb -DarchetypeArtifactId=maven-archetype-webapp
注意上述命令一行输完再回车;
一定要build成功,即图中的“build successful”。
此时生成myweb文件目录,如图:
注意
此在main目录下建一个名为java的目录,把自己的代码源文件复制进去;那么main目录下resource、webapp、java都有了;这三个
缺一不可;maven项目生成后的配置文件一个都不能少。然后再command line下回到\myweb 目录下,注意一定在这个目录下,因
为pom.xml也在这个目录下,maven就是靠对pom.xml的解析进行工作,它相当于make的makefile、ant的build.xml,否则maven会提
示找不到pom文件。然后再输入mvn package打包,注意此时一定要生成target文件目录,否则hudson下的job文件夹下
的workspace就是个空的,而且war包也在下面,没有就不能发布了,就又挂了。
2.分析pom文件
<modelVersion>4.0.0</modelVersion>
<groupId>com.yourcompany</groupId>
<artifactId>myproject</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>myproject Maven Webapp</name>
<url>http://maven.apache.org</url>
<build>
<finalName>myproject</finalName>
</build>
modelVersion:此必需的元素说明了本POM所使用的模型版本。
groupId:本元素表示创建本项目的组织的唯一标识。groupId是一个项目的核心关键标识之一,它基于组织的完整属性域名。
artifactId:表示本项目的主要项目的唯一基本名。一个典型的由Maven生成的项目名称将会是如下的格式:<artifactId>-<version>.<extension>。 packaging:表示本项目所使用的包类型(JAR, WAR,EAR等)。
version:表示项目的版本,Maven对于版本管理大有帮助,你会经常看到一个版本的SNAPSHOT(快照),指示项目在开发中的不同状态。
name:项目的显示名称,常用于Maven生成的文档当中,并在构建过程中,为项目或其他的项目作为一种依赖使用。
三、hudson自动化部署、发布、编译项目到Nexus 私服。
这里我们选择maven2/3的项目。它是根据pom文件进行读取项目。
Source Code Management 这里已经描述过安装过插件后,选择Subversion项。填入svn的地址。注意一定要是svn的项目的根目
录。因为它包括pom.xml 不然会找不到pom.xml 文件就挂了。
build Trigger 要选择 SNAPSHOT.
如果要将项目部署到 Nexus服务器上 则需要在build栏里写入maven命令即可。(deploy)
deploy发布操作需要在项目编译成功后才能进行发布。
出现下图即表示编译成功。并且部署到了tomcat上。添加maven后会自动上传到私服。到私服中查看即可。
相关文章推荐
- 从源码安装Mysql/Percona 5.5
- About SVN
- maven学习
- maven插件maven-war-plugin的使用
- jenkins------部署项目到jboss eap下
- CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)
- maven使用经验集
- CentOS下SVN服务器测试版安装记录
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- 如何在本机搭建SVN服务器
- Windows下搭建本地SVN服务器
- 解决vc中unable to connect to the MKS:Internal error问题
- 杰奇一些安装详细说明文件,比官方更细
- 无线网卡安装DIY
- 网卡安装常见问题精解
- DB2数据库的安装
- CentOS下DB2数据库安装过程详解
- ghost安装系统软件硬盘安装器 安装ghost图文教程
- CentOS 6.3下编译安装Ruby 2.0笔记
- FREEBSD安装POSTGRESQL笔记