TA的每日心情 | 开心 2018-4-8 22:14 |
---|
签到天数: 1 天 [LV.1]初学乍练
普通会员
- 积分
- 5517
|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《 Jenkins权威指南》
1 C: e2 f& b& zjava电子书推荐理由:通过本书你将学到以下内容。 学习如何安装、配置和安全加固你的Jenkins服务器 组织管理和监控通用的构建作业 集成自动化测试来验证构建,并建立代码质量报告 建立有效的团队通知策略和技术 配置构建管道、参数化的作业、矩阵构建和其他高级作业 管理多个Jenkins服务器来运行分布式构建 完成自动化部署和持续交付7 l L1 r" j1 U* | n0 ~6 u) y- F
$ s: G: n" M* Y) M
作者:John Ferguson Smart 约翰.弗格森.斯马特 郝树伟 于振苓 熊熠
* b$ R3 |" y {# y% s出版社:电子工业出版社' H' W% w" m$ n! C
出版时间:2016-10-01
, F2 s1 n/ d; `* P书籍价格:70.30元- _0 Y3 U( r4 j7 l
" l1 a2 \4 p( |7 X/ I9 q9 @- P- W+ W% _6 D9 c) Z
java电子书目录:7 p6 s! @3 Y' m' J- _8 D7 a9 y
第1 章 Jenkins 简介 17 P( [8 i5 H7 e1 @+ g
简介 1
8 A1 d" U6 j8 [9 a+ H6 q持续集成基础 1
9 W, g0 f4 ~' P4 M; n% w* M: rJenkins 简介(née Hudson) 3
) P2 W/ ]# `6 x5 H从Hudson 到Jenkins——一个简短的故事 3
0 {* ~" X$ Z' z, k3 t应该使用Jenkins 还是Hudson 4
% X" C( \! K1 K" l* t引进持续集成到你的公司 5
- Q3 X1 E& n- A6 D7 e; R4 c# m阶段1——无构建服务器 5% |- F' j* B1 Z" T5 Y+ z3 h( r
阶段2——夜间构建 64 j6 m) B A; ]% V2 u6 M
阶段3——夜间构建加自动化测试 6
& A5 j6 C2 ]) m8 s5 K7 d, Y+ P阶段4——加入度量指标 6
& C. I0 D# ? g3 e7 o2 t. J6 U% |阶段5——更认真地对待测试 6
7 u* g; e, t1 w6 A/ i6 K阶段6——自动化验收测试和自动化部署 7
4 a4 ?& v; x' h. M" A& f阶段7——持续部署 7
( m! N# \- q: X9 o, V接下来做什么呢 7/ W7 o- X' J, q6 m, s% }, x h
第2 章 迈入Jenkins 的第一步 9 k+ ~$ I: M7 S. P# ]; b& B6 g
简介 9
& s! f, ?' p! \0 D1 z6 R: \; w1 K7 ?准备环境 9# p; l0 e, x% m1 v* u% o+ b
安装Java 10
. e9 W! n; M1 C; L9 A& z8 g安装Git 114 l3 Q4 U8 L) J6 V, l) _ w
创建GitHub 账号 11
7 z* i! W1 P7 V! F1 d4 B配置SSH 密钥 11
! Z1 x7 m5 o2 c8 d P- G" p6 {8 Z& F创建代码库分支 12) s4 y6 s- Y" _, R/ l
启动Jenkins 13* U" @) ?1 W/ V: S
配置工具 172 L7 B6 g8 D# l
配置你的Maven 设置 18- q& }. {+ B A9 ]+ v! q; Z6 o" K- ?
配置JDK 197 \& K9 ~" l% o K- [
通知 20
4 Q; y. S' R/ j4 C. i) l# i设置Git 20
2 i. Y I, n5 U2 K+ K' T5 c/ S% q+ a你的第一个Jenkins 构建作业 21, W# Y2 F4 E. t1 a; |9 I5 J
你的第一个构建作业 26" v7 }* m+ }8 _7 s5 |. L
更多的报告——显示Javadoc 335 S8 t* v1 K& G: m8 Y; |3 V0 W6 t
添加代码覆盖率和其他度量 34
5 `2 f4 u5 R8 D6 e' c h6 _! H小结 40
6 P/ X: r" t0 }4 m( v第3 章 安装Jenkins 41 w8 a/ _9 [" W$ Z1 H& L
简介 41
) s' B& j% _$ i" m下载和安装Jenkins 41
; f4 K; G0 `* `/ r3 i/ u+ N为Jenkins 准备好构建服务器 44; L g& d& i( C
Jenkins 主目录 45
+ P+ i4 o; [% E1 l ~6 m* @7 S1 G$ c在Debian 或者Ubuntu 系统上安装Jenkins 47
/ R0 K- R2 P3 n; v1 ?( p7 k9 x在Red Hat、Fedora 或者CentOS 上安装Jenkins 483 U+ D5 l3 b1 a+ J1 y
在SUSE 或者OpenSUSE 上安装Jenkins 49" `( I4 G y6 b
以单机应用形式运行Jenkins 49
1 U) @( s5 a6 V5 z, o% ~基于Apache 服务器运行Jenkins 53
" l* l J+ H8 l1 ^$ W! z5 U在应用服务器上运行Jenkins 54
9 y: K& u8 K( f( V- F# _' e' y内存方面的考虑 54
: v# N! z0 S* |5 j5 o安装Jenkins 为一个Windows 服务 55
$ f7 u0 z, f7 D# e! pJenkins 主目录里有什么 59
/ [1 c. M! d% O备份Jenkins 数据 62
4 Y1 w; x: g( I, g升级Jenkins 安装 63
4 t3 ^1 X6 {+ Y) O4 ?% W小结 64
# G9 W- z; j. v) G第4 章 配置Jenkins 服务器 65
. w* G0 ]& E( N% F& k$ V; ?+ D简介 650 S+ i/ F; q' e' N/ ~9 ^% w
配置面板——Manage Jenkins 界面 65
* q6 h. W! T; T8 h; y T& E配置系统环境 68
, e( C/ L) p0 I. w7 U8 r配置全局属性 69
; k3 k" [% `, t! u) i/ @( ?/ E$ s配置JDK 702 S1 l& ^6 d) ~! M& [1 O
配置构建工具 72. M9 J+ W# w0 y# d
Maven 73( w3 l2 F- T0 V* A
Ant 74" l4 |3 \, J2 G1 Q
Shell 脚本 75% W- L( \9 d1 A4 E2 L% f. }, m
配置版本控制工具 75
, o9 n; O9 J) w* c配置Subversion 758 w7 d! ]0 x; h* L ?
配置CVS 75
$ s0 M5 I m7 ?3 O8 }# o: _配置邮件服务器 762 U# I/ Z x- _" v, d' O* t$ v
配置代理 77
3 w2 _9 X" \8 Y6 q- v7 B小结 78/ S; t, [: v' l" o
第5 章 设置构建作业 79
$ b4 B% X& Y0 L0 c6 ~简介 794 A3 J% L% {) f. r9 c
Jenkins 构建作业 79& s( a0 E. X/ G* _4 n- _
创建自由式构建作业 80; U( w/ M# \3 k5 P
通用选项 81
8 T# `& t' }# W f6 n- s% k# j& H高级项目选项 82* g; {4 O& z! X# ?0 E
配置源代码管理 83
, _5 m: R& g# n; n9 J用Subversion 工作 84
! e6 q* g3 d8 s, m; r8 u# `! ~使用Git 860 V* Y; ^ n) v0 w4 _4 _" }
Build Triggers 96; y& j' x* t( R+ C8 h# I
构建作业完成后触发下一个 97
' z7 n$ n0 ^ z+ c计划构建作业 972 j0 {5 p6 D- w6 p0 O
轮询SCM 98: ` T8 Y' K" _& r2 O8 ~. ^
远程触发构建 99
" n8 b4 Q' d/ e/ s) {, s& b |手工构建作业 101
8 }1 R6 ?6 P/ g1 E* ~ A" C构建步骤 101
4 [; p1 y- q: n4 kMaven 构建步骤 102
: i4 k8 L+ }& O7 b+ YAnt 构建步骤 1033 K$ H5 \" {8 n3 h
执行Shell 或Windows 批处理命令 104
! U: Y: T4 w3 T- x$ t3 z在构建中使用Jenkins 环境变量 105
9 H/ I0 t2 s1 n/ I& g运行Groovy 脚本 108
7 n( p% p1 \) J3 `1 q! p用其他语言构建项目 110
. h0 ?. j9 H2 @构建后的操作 110
z* r1 C' H+ A5 ]4 e D4 h) g报告测试结果 110
( G. X( e9 V w& M, ^- _* \归档构建产物 110
( T8 T" Z: n/ V7 e) [通知 114* K$ C+ p' B1 V. H& I; X) E
构建其他的项目 114' R5 C* V, }9 k
运行新的构建作业 115* M7 y& s6 j2 J
使用Maven 构建作业 115
! h# i5 W/ H6 W4 W& W" o9 S每当SNAPSHOT(快照)依赖被建立时都要进行构建 116
* S. C& k" W5 \# G3 ?配置Maven 构建 116
+ `9 n+ v$ q j& h& E5 D3 M构建后期操作 118
, m: b8 u4 ]" q X; ?% r% [" ~( M部署到企业仓库管理器 118
G# n3 b! |; {( M+ r! d+ Y部署到商业企业仓库管理器 122 a2 g8 D4 Q, B2 X) B: z& i
管理模块 122
" o' E& c) M. fMaven 构建作业中额外的构建步骤 122
% b% s! Q2 h. h3 F7 t1 v用其他语言使用Jenkins 124' N9 M1 I+ i7 Y! f
用Grails 构建项目 1245 @ D! G0 B E# D
用Gradle 构建项目 1261 ^2 y' @5 y7 r2 x9 A' J
用Visual Studio MSBuild 构建项目 129
; X- M- w e5 `. W" S# s用NAnt 构建项目 130 x4 W. n2 R% D
使用Ruby 和Ruby on Rails 构建项目 130
A6 l( V; y9 w; A# B; E( @6 k- r- w小结 132: y; v( U1 k4 t! T4 l# q
第6 章 自动化测试 133
4 k+ i- U$ j" P1 u8 s3 ]9 R5 d2 ?简介 133
N g/ _; a1 \7 G1 S自动化单元和集成测试 134
; g; ~1 Y/ i$ q! q1 J在Jenkins 中配置测试报告 1353 A6 H6 n/ v0 `! v, W; s0 m5 K
显示测试结果 137
, H$ Y$ g7 n- u& \2 T忽略测试 1401 ~% V2 [0 ?$ w
代码覆盖率 142
8 U% s1 I( X+ Y9 M' R d使用Cobertura 测量代码覆盖率 143
# L& l3 M, O% O% q使用Clover 测量代码覆盖率 1521 G+ ] k, r5 L6 Q% U# k9 D J
自动化验收测试 154. l/ e7 K; r8 _; o
JMeter 自动化性能测试 157
7 ~7 h! T5 |+ l: p: ^( Z4 c请求帮助!我的测试运行得太慢了 165
4 B8 B' u5 j$ ~0 m( q# q, g3 v( D添加更多的硬件 166
& ~9 z; {; i8 G! h( w8 _" S运行更少的集成/ 功能测试 166- G/ \: _" O" W7 }; m
并行运行测试 167
+ P( m k# ^9 Z0 [1 E/ E小结 167# ]# u( o7 }* B
第7 章 Jenkins 安全 169& d! d- s% Z: y' w
简介 169
- }( o2 n$ u3 N& J- u! c1 s) [激活Jenkins 安全 169
$ q3 g" n. H5 v! c8 I) Z7 AJenkins 安全实例 170+ n) B! u" b4 ?" [
安全域——定义Jenkins 用户 171
/ k$ R$ O! I+ ^使用Jenkins 内置用户数据库 171
, {& s- D- G+ [6 m5 s使用LDAP 仓库 174
6 s' N4 V; A6 l2 K5 Z, p使用微软活动目录 176
& P3 p7 a+ u' S) Q! a0 j9 {2 n使用UNIX 用户和用户组 1776 f% e% _, q; i# e8 t- I9 u
Servlet 容器授权 177
2 y$ f% r% i D$ w( V' M! H使用Atlassian Crowd 178
" f; A( H, u- w; d2 R. p* n7 }与其他系统集成 179, e- `& [, H8 ]$ d n
授权——谁可以做什么 181; r0 M, ^/ V/ O$ P3 \
安全矩阵 181* Z, P4 L: K8 f( W( ~6 Y- z9 s I
基于项目的安全 185! \ g/ k. z; l
基于角色的安全 188
' U Y5 I. s, W- q" e9 |审计——跟踪用户行为 190
6 ^( }2 Y. q1 B+ D) B. i2 b小结 193% l5 ` |4 K) W9 D" N# v! `6 a7 z
第8 章 通知 195
3 v$ K- H$ h. Q% o简介 195$ }/ }/ x5 c7 `: R, A8 a' i9 g
电子邮件通知 195
/ B$ p- P" Q1 c% M) t0 [更高级的电子邮件通知 197
. z8 D# _' u4 X$ ~5 m: U9 v声明构建 200
- V* q' y: l* Z1 ~$ z: T4 @, E3 |RSS 订阅 2023 J7 r0 z3 \# r% b0 _. s
构建分发器 202
# `4 q D( q* x2 r) Y即时消息 204
+ K$ {+ J* G8 h+ V3 Z- l7 }用Jabber 进行IM 通知 2042 Q1 n5 P; m/ m' M P/ c5 P
使用IRC 的IM 通知 209
! X- e* p+ F; U1 }2 [IRC 通知 209 g( ?# ?' |; u! V% o
桌面通知器 212: {0 d2 ^$ c6 _; h2 N1 b( y% R! W
通过Notifo 通知 213% U# m( X0 `4 e, h' f4 l4 h7 H! ?
移动通知 216
4 c2 M; ~* B& Z4 |, N短信通知 216# z7 j3 q. v8 }. }. L# L" l
制造噪声 219
% y6 v8 @2 s# v) Y极端反馈设备 2219 x W. \. l+ n$ ]/ ~8 ]
小结 222* S& C- X- r/ w$ V. \2 G1 ~( s+ w# T
第9 章 代码质量 225
; ?; d, H; X) ~) b, o简介 225
0 H2 u2 k, p& P; v; g: ]构建过程中的代码质量 226
" l- s4 p; p$ g受欢迎的Java 和Groovy 代码质量分析工具 227$ ?) W! O( i* {/ U4 u. e
Checkstyle 227
7 P& [; s; }% @# ]PMD/CPD 230
: j; ^; o9 m- s8 a8 q2 DFindBugs 2351 Q+ O& @* h$ l% T4 [9 |- C" L
CodeNarc 237
( h4 S5 Y+ a( {1 f使用Violations 插件报告代码质量问题 238
6 ~* z; z# |- p& l+ z* a5 t与自由风格下的构建作业一起工作 239* a9 i7 N& ^+ G* k% E
使用Maven 构建作业 242
+ }: y# {' v0 Z0 R3 i" n6 L使用Checkstyle、PMD 和FindBugs 报告 244
0 X4 U/ C8 t$ n8 j8 o( U报告代码复杂度 2478 v U/ g1 B" p
报告未完成的任务 248
\4 Q# C E6 N) w1 v/ ]集成Sonar 249
0 t7 x2 { |! f# f% y2 l/ Z小结 253* h4 z0 c* ]9 ?1 l# d* e6 \& h
第10 章 高级构建 255
( n. n+ ` N) \简介 255
) {" g$ y3 B1 {5 B" E: E7 W. V5 [参数化构建作业 255
0 k, Y7 h# |: o7 v, `1 i创建一个参数化构建作业 256' J+ M7 s. ?' a9 j9 [3 i% Z/ h7 H
为构建适配参数化构建脚本 257
9 i/ o& W0 B% u. O: x高级参数类型 259
7 F* m# B0 J8 i5 {; f+ @3 e- }" R% i. `使用Subversion 标签构建 260
9 k* H. h" z+ h8 n1 s使用Git 标签构建 2619 r' C. {6 q: G4 g: c7 }. G/ |
远程启动参数化构建作业 262
0 p- X, w# h+ v7 o; Q% ^& q3 @6 V参数化构建作业历史 263
2 ]) H9 [ ~1 g' K+ m8 _- W参数化触发263
) z( C. W& ~. O. B: L0 C' l W多重结构的构建作业 266
: P) k* x" Y+ r: i4 q搭建多重结构构建 2669 [0 h+ k$ z( A% n6 u' ~
配置从节点轴 267$ o* ^2 |* x& d
配置JDK 轴 268
0 F& g) p0 v+ a$ Y自定义轴 268
6 T9 j3 g. d7 x; M$ I( g d执行多重结构构建 268
; Z* m; E; _7 o* F自动生成Maven 构建作业 271
( A1 t/ I$ f. N* g7 |配置作业 271
- F! l/ @9 g+ h! B! p2 `1 y使用继承复用作业配置 273- K: _$ e$ K3 U/ k8 i* e& O. \
插件支持 275# p8 A& S7 @0 j
自由式作业 2786 e$ u4 G6 q& N, F! c
构建协作 278
- l9 X8 I# U O/ d0 U# c" }" b; ?在Jenkins 中并行构建 2799 q/ j8 v9 n. j9 [# U3 }) S
依赖关系图 279
: |2 e* h0 q5 H连接 280
5 {0 d/ S0 ^3 ?# a9 a2 VLocks and Latches 插件 2815 B( ]- `6 x8 Q2 {4 b U
构建管道及优化 282; z# o- P# r m3 T% E
通过M2Release 插件管理Maven 版本发布 283. a: c' S" R1 |+ n" `2 V) f
复制构建产物 2863 X1 F- j+ m, V( Z
构建进阶 289
9 |6 [5 S% G- R5 f/ `' Z# \汇总测试结果 295
/ c2 C/ S: x% z: c* P构建管道 296+ I- {* `! V. {; m( ?
小结 299, X- i+ g2 d: j
第11 章 分布式构建 301, V" W Z+ K A( b2 v0 {0 A
简介 301" h8 v! x7 [' I
Jenkins 分布式构建架构 301
! Y; o4 S$ W! D' N; P/ aJenkins 主/ 从策略 302
3 Q2 b0 o/ u" ?) Z& y主节点使用SSH 启动从节点代理 3030 n9 k1 [/ Q8 ~2 g
使用Java Web Start 手工启动从代理 3075 ]7 C# C1 `. n$ @- D' ~! R8 }
把Jenkins 从节点安装为Windows 服务 309) ]0 t7 G6 I) k I$ F: {( M
无主节点模式启动从节点 310
2 f$ ^& @7 r" z p0 T4 p以远程服务方式启动Windows 从节点 310
/ N" q5 B/ g$ h" F2 S. X6 a把构建作业与一个或一组从节点关联 311) g4 ]4 N2 U* s+ g
节点监控 313( A5 ?$ o5 p9 S- W
云计算 314
( N0 A% e- m3 ]; k1 H7 w2 Y5 H使用Amazon EC2 314) e- c. k7 l2 f! Y
使用CloudBees DEV@cloud 服务 3186 x1 D; t! g) C
小结 319; H5 o/ Q/ I, Z( n( C) m
第12 章 自动化部署和持续交付 321- P6 ]" q0 B* y8 t- C% {" q
简介 . 3218 Q, U* }; i$ S/ D$ ?! L
实现自动化和持续部署 322' J8 o$ v4 [/ u# w- g9 k* M, r
部署脚本 322
! E4 R/ F1 R7 g( F8 V6 T数据库更新 322
9 x& ^6 q0 {& P3 e# p' \冒烟测试 325
6 ?" g, D9 P U r; K: d& [回滚更改 326
( v% b7 e! J' p2 ?% M' I部署到应用程序服务器上 326
! ^ ]: y9 L: L+ d+ ]3 ]9 Y部署一个Java 应用 327- Y0 _2 e, D9 Z2 F1 R* D* b
部署像Ruby 和PHP 这样基于脚本的应用程序 336
' r( S4 p) n6 _' Y' J小结 339) T5 z! o1 y( B1 [* ?1 D! P1 G: X9 y
第13 章 Jenkins 的维护341
$ P) C' \% N1 t% w/ Y简介 341
0 q4 z& X$ m5 e# u* o7 s监控磁盘空间 341
4 W7 A3 @; h0 p" @5 P) }使用Disk Usage 插件 343
# T. S D4 n! R( N磁盘使用及Jenkins Maven 项目类型 344
' }( a! ~* y' V5 t2 ?监控服务器负载 345
4 J- D! Y8 ]7 f$ j/ m7 ^" j备份配置 346- d6 q: y4 R2 r( l, x- h0 | Y2 w5 z8 H' J
Jenkins 备份基础 346
9 q/ N$ {4 d9 x: z+ w( h使用备份插件 348
" B* U1 J8 ?/ w# Q+ a更为轻量的自动备份 3503 K7 a- F% m) y, k$ e) {$ V% ?, T
构建作业归档 350% c6 r" Q) ?) G' M9 P- `* d1 \8 G
构建迁移 3510 R1 A& ?% F+ F9 D! b
小结 355
: F3 _- R3 T" k( m附录A 自动化你的单元和集成测试 357
1 f0 o! f" ?# j) \索引 367( H( ^" w) |; ]: X
4 g. [6 y3 T* @! z R
Java资料百度网盘下载地址链接(百度云):java自学网(javazx.com) Jenkins权威指南 PDF 高清 电子书 百度云.rar【密码回帖可见】
) j8 G4 z) y& x8 q: [( W- h) |5 ?
, t7 \! X- l% }, a# ?/ B4 \ ]0 K" u3 T0 t8 r" f7 _* |( j
% T/ i" K4 {; b
, [* P) r1 ~. l; ~1 q" U' T) a
|
|