环境:Windows8.1,JDK1.7,Jenkins1.619,Ant1.9,Glassfish4
安装,不多说了,官网下载war包,放在web容器内即可使用。
准备工作:
1.下载“Publish Over SSH”插件
2.进入jenkins,“系统管理”》“插件管理”》上传hpi安装插件
3.“系统管理”》“系统配置”》“Publish Over SSH”项配置SSH链接信息
下面直接进入主题,新建项目:
如果采用maven,选择“构建一个maven项目”;如果是其它(ant,将已编译的class打包等),选择“构建一个自由风格的软件项目”。其它选项暂未涉及。
编译,打包方式:
1.本地环境下,直接使用myeclipse或其它IDE编译部署在本地的web服务器的方式
这里没有选择“源码管理”,而是直接指定bat脚本warZip.bat(位于jenkins工程目录下),注意:bat文件中有中文时,需要保存为ANSI编码格式,设置变量时“=”两遍不能有空格
@echo off
set NATIVE_DEPLOYPATH=C:\glassfish4\glassfish\domains\domain1\autodeploy\wxcommunity.war
set JENKINS_DEPLOYPATH=C:\Users\超\.jenkins\workspace\wxcommunity\AntBuild\war\wxcommunity.war
set ZIP_HOME=D:\Program Files\7-Zip
set Path=%Path%;%ZIP_HOME%
7z a -tzip %JENKINS_DEPLOYPATH% %NATIVE_DEPLOYPATH%\* -xr!WEB-INF\lib\*.jar
pause
这里使用的是7zip来打包,如果没有7zip,也可以通过“jar cvf war路径 源码路径”来编译打包
构建后(即本地编译打包后),
其中/deploy.sh为将war上传到待部署的远程服务器后执行的脚本。
#!/bin/sh
cd /opt/glassfish4/bin
./asadmin stop-domain
mv /jenkins.war /usr/xxx/applications/jenkins.war
#rm -rf jenkins.war
cd /usr/xxx/applications
./asadmin start-domain
保存,然后“立即构建”,几分钟后即完成打包部署到远程服务器。
2.本地环境下,拉取svn/git上的源代码,通过Ant或Maven编译打包的方式
以SVN,Ant为例,
区别在于“源码管理”部分,”构建“部分过程中执行脚本不同
填入SVN地址,点击右侧问号,“click this link”进入SVN配置。
“构建”过程,直接执行ant
build.xml文件(具体工程根据下面的修改即可)放在svn拉取的源码工程目录下
其它内容与第一种方式相同。maven与ant也相似,只是执行maven pom.xml和ant build.xml的区别,取决于你的工程类型
错误汇总:
1.注意上面所说的路径问题
2.脚本执行出错,-bash: ./deploy.sh: /bin/bash^M: bad interpreter: No such file or directory
这是由于我在windows下编辑的脚本,编码格式错误。vi deploy.sh后,set ff=unix把它强制为unix格式