您的位置:首页 > 其它

转载】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后会自动上传到私服。到私服中查看即可。



 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息