Jenkins安装
下载jenkins.war包,运行java -jar jenkins.war,即可访问http://localhost:8080/访问jenkins。
或者将jenkins.war包放在Tomcat的Webapp下,启动Tomcat,访问http://localhost:8080/jenkins/。
本例产用后者。
1. 在首页选择系统管理,再右侧页面中选择管理插件。
在可选插件中选择要安装的插件,下表为本次测试中已安装的插件,有些为默认已安装的插件。
插件
名称
版本
启用
Pinned
mailer
1.4
true
false
external-monitor-job
1.1
true
false
ldap
1.1
true
false
pam-auth
1.0
true
false
javadoc
1.0
true
false
maven-plugin
1.499
true
false
ant
1.1
true
false
analysis-core
1.48
true
false
checkstyle
3.32
true
false
cvs
1.6
true
false
deploy
1.9
true
false
jquery
1.7.2-1
true
false
junit-attachments
1.3
true
false
ssh-slaves
0.22
true
false
subversion
1.39
true
false
translation
1.8
true
false
email-ext
2.25
true
false
2.进入jenkins首页,选择新建JOB,填写一个JOB名称,选择“构建一个自由风格的软件项目”。
然后进入配置页面,也可以首页选择项目,然后选择配置进入此页面。
本例的配置如下:
1) 源码管理选择Subversion
Repository Url:https://localhost/svn/Diary/trunk/Diary
2) 构建触发器
选择Poll SCM
日程表:* * * * * (表示每分钟都比较,有更改就构建)
3) 构建
增加构建步骤:Invoke Ant
Targets:(什么也没写,默认执行根目录下的build.xml)
4) 构建后操作
a. Publish Checkstyle analysis results
Checkstyle results:output/diary/checkstyle/checkstyle_report.xml
b. Publish JUnit test result report
Test report XMLs:output/diary/test/data/*.xml
保留长的标准输出/错误 勾选
c. Publish Javadoc
Javadoc directory:output/diary/docs
d.Deploy war/ear to a container
WAR/EAR files:output/diary/diary-1.0.0.war
Container:Tomcat 6.x
Manager user name:admin
Manager password:*****
Tomcat URL:http://localhost:8080
(此处要配置Tomcat的角色和用户:
在Tomcat的安装目录下,找到conf/tomcat-users.xml,修改内容如下:
)
e. Editable Email Notification
Project Recipient List:要发送的邮件,可多个用逗号隔开
(此处要配置邮件服务,选择系统管理->系统设置:
Jenkins Location
Jenkins URL:http://localhost:8080/jenkins/
配置邮件通知
也可以Extended E-mail Notification中选择Override Global Settings覆盖的邮件通知。
在测试过程中,邮件通知中没有“发送者的邮箱地址”这一项,导致邮件一直不能发送,选择了Extended E-mail Notification中的Override Global Settings,在这里填写信息才将邮件发送成功。
)
附:
build.xml,增加War包:
001<?xml version="1.0" encoding="UTF-8"?>
002
003
004
005<format property="build.latest.dir" pattern="yyyyMMddHHmmss"/>
006<format property="build.latest.date" pattern="yyyy-MM-dd"/>
007
008
009
010
011
012
013
014binf.dir" location="${web.dir}/WEB-INF"/>
015
016binf.dir}/lib"/>
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080${build.output.log.datetime}构建完成!
081
082
083
084
085
086
087
088
089
090
091
092
093
094${build.output.log.datetime}生成War完成!
095
096
097
098
099
100
101
102
103${build.output.log.datetime}生成Zip完成!
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129${build.output.log.datetime}生成Jar完成!
130
131
132
133
134sourcepath="${src.dir}"
135destdir="${build.output.doc.dir}"
136packagenames="diary.*"
137use="true"
138version="true"
139windowtitle="${project.name}"
140failοnerrοr="true">
141
142
143${build.output.log.datetime}生成JavaDoc完成,详情可查看${build.output.doc.dir}/index.html!
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167${build.output.log.datetime}批量测试,并生成html失败,详细可查看${build.output.test.dir}/index.html
168
169${build.output.log.datetime}批量测试,并生成html完成,详细可查看${build.output.test.dir}/index.html!
170
171
172编译测试代码文件">
173
174
175
176
177${build.output.log.datetime}编译测试代码文件完成!
178
179
180
181
182
183
184${build.output.log.datetime}复制测试代码资源文件到编译目录完成!
185
186
187
188
189
190
191
192${build.output.log.datetime}编译源代码文件完成!
193
194
195
196
197
198
199
200
201${build.output.log.datetime}复制源代码资源文件到编译目录完成!
202
203
204
205
206
207failOnViolation="false"
208failureProperty="checkstyle.failed"
209config="${src.dir}/sun_checks.xml">
210
211
212
213
214
215in="${build.output.checkstyle.dir}/checkstyle_report.xml"
216out="${build.output.checkstyle.dir}/checkstyle_report.html">
217
218${build.output.log.datetime}用Checkstyle校验源代码完成,详细信息查看${build.output.checkstyle.dir}/checkstyle_report.html!
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237${build.output.log.datetime}输出目录创建完成!
238
239
240
241
242
243
244
245
246${build.output.log.datetime}编译目录清理完成!
247
248
249
250
251
252
253
254
255${build.output.log.datetime}输出目录清理完成!
256
257
258
输出:
构建出错后的输出,会发送邮件到指定邮箱:
01控制台输出
02
03Started by user anonymous
04Buildingin workspace C:\Users\xujing\.jenkins\jobs\Diary\workspace
06At revision 20
08No emails were triggered.
09[workspace] $ cmd.exe /C'"ant.bat && exit %%ERRORLEVEL%%"'
10Buildfile: C:\Users\xujing\.jenkins\jobs\Diary\workspace\build.xml
11
12clean:
13[echo] [2013-01-21 15:50:49] 编译目录清理完成!
14
15cleanoutput:
16[echo] [2013-01-21 15:50:49] 输出目录清理完成!
17
18init:
19[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary
20[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\docs
21[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\test
22[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\test\data
23[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\checkstyle
24[copy] Copying 2 files to C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\checkstyle
25[echo] [2013-01-21 15:50:49] 输出目录创建完成!
26
27checkstyle:
28[checkstyle] Running Checkstyle 5.6 name="code">控制台输出
29
30Started by user anonymous
31Buildingin workspace C:\Users\xujing\.jenkins\jobs\Diary\workspace
33At revision 21
35No emails were triggered.
36[workspace] $ cmd.exe /C'"ant.bat && exit %%ERRORLEVEL%%"'
37Buildfile: C:\Users\xujing\.jenkins\jobs\Diary\workspace\build.xml
38
39clean:
40[echo] [2013-01-21 16:21:25] 编译目录清理完成!
41
42cleanoutput:
43[echo] [2013-01-21 16:21:25] 输出目录清理完成!
44
45init:
46[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary
47[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\docs
48[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\test
49[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\test\data
50[mkdir] Createddir: C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\checkstyle
51[copy] Copying 2 files to C:\Users\xujing\.jenkins\jobs\Diary\workspace\output\diary\checkstyle
52[echo] [2013-01-21 16:21:25] 输出目录创建完成!
53
54checkstyle:
55[checkstyle] Running Checkstyle 5.6>
56
57
58
59
Diary.zip (3.1 MB)60
61
下载次数: 062
63
64
65
66
67
68
69
70
71
72
73
74
75/*500*200,创建于2013-4-2 07net01 文章内部下*/
76var cpro_id ="u1251111";
77
79