Jenkins+svn项目自动打包和部署

如:将SVN上的指定项目(如: com.cr.dt)打成jar,并发布发到指定目录(如: d\export2)。


具体步骤如下:

1.下载jenkins.war

2.启动jenkins: java -jar jenkins.war

3.访问http://localhost:8080

4.填写任务名称,如:test, 选择“构建一个自由风格的软件项目”

5.在“源码管理”中选择“Subversion”, 输入项目在SVN上的地址

6.在“增加构建步骤”中选择“Execute Windows batch command”,并填写如下批处理命令:

#编译, class存放于bin目录

javac -classpath .;lib\jcommon-1.0.17.jar;lib\jfreechart-1.0.14.jar;lib\log4j-1.2.16.jar src\com\cr\dt\ui\*.java src\com\cr\dt\util\*.java -d bin

#将messages.properties和messages_zh_CN.properties文件拷贝到bin\com\cr\dt\ui目录下

copy src\com\cr\dt\ui\*.properties bin\com\cr\dt\ui

#删除目录".svn"及其下的子目录和子文件

rmdir /s /q bin\.svn\

rmdir /s /q conf\.svn\

rmdir /s /q about\.svn\

rmdir /s /q icons\.svn\

#设定打包后文件名的后缀,如:com.cr.dt_2013-01-01_14-22-03.jar

set suffix=%date:~0,10%_%time:~0,2%-%time:~3,2%-%time:~6,2%

echo %suffix%

set suffix=%suffix: =0% (格式化日期,如:2013-01-01_ 9-45-30 => 2013-01-01_09-45-30)

echo %suffix%

#创建jar文件,并将bin目录下的文件(夹)打包到jar中。注:不包含bin目录本身

jar cvfm com.cr.dt_%suffix%.jar META-INF\MAINFEST.MF -C bin\ .

#将conf目录及其下的目录和文件追加到"com.cr.dt_2013-01-01_14-22-03.jar"中。注:包含conf目录本身。

jar uvf com.cr.dt_%suffix%.jar conf

jar uvf com.cr.dt_%suffix%.jar about

jar uvf com.cr.dt_%suffix%.jar icons

#部署到指定目录

if not exist d:\export2 mkdir d:\export2 (如果目录不存在,创建目录)

copy com.cr.dt_%suffix%.jar d:\export2 (拷贝jar文件到d:\export2目录)

rmdir /s /q d:\export2\cr\ (删除cr目录及其子目录和子文件)

if not exist d:\export2\cr mkdir d:\export2\cr (如果cr目录不存在创, 创建cr目录)

xcopy /s cr d:\export2\cr (拷贝cr目录下的子目录及子文件到d:\export2\cr目录下)

rmdir /s /q d:\export2\lib\ (删除lib目录及其子目录和子文件)

if not exist d:\export2\lib mkdir d:\export2\lib

xcopy lib d:\export2\lib (拷贝lib目录下的子文件到d:\export2\lib目录下)

8.点击“保存”,然后执行“立即构建”

经过以上步骤,就可以将项目编译并发布到指定目录下了。

相关文档
最新文档