基本信息
書名:Jenkins指南
:89.00元
作者: John Ferguson Smart(約翰·弗格森·
齣版社:電子工業齣版社
齣版日期:2016-10-01
ISBN:9787121299063
字數:
頁碼:408
版次:1
裝幀:平裝
開本:16開
商品重量:0.4kg
編輯推薦
通過本書你將學到以下內容。
n√學習如何安裝、配置和安全加固你的Jenkins服務器
n√組織管理和監控通用的構建作業
n√集成自動化測試來驗證構建,並建立代碼質量報告
n√建立有效的團隊通知策略和技術
n√配置構建管道、參數化的作業、矩陣構建和其他高級作業
n√管理多個Jenkins服務器來運行分布式構建
n√完成自動化部署和持續交付
n內容提要
本書從實踐者的角度,在講解Jenkins基本原理的同時,深入到持續集成、持續交付領域,為讀者梳理齣如何使用Jenkins設計和實現一個自動化的、周期性的集成測試過程,幫助讀者理解Jenkins適用於什麼場景。書中首先介紹Jenkins以及持續集成、持續交付的基礎知識;然後安裝Jenkins和配置Jenkins服務器,使用Jenkins建立構建作業、進行自動化測試,介紹Jenkins支持的幾種安全模式,如何使用Jenkins進行消息通知,如何確保代碼質量;後進階展示如何建立高級的和分布式的構建,如何進行自動化的部署和交付以及對Jenkins的運維。
目錄
序 xvii
前言 xix
第1 章 Jenkins 簡介 1
簡介 1
持續集成基礎 1
Jenkins 簡介(née Hudson) 3
從Hudso到Jenkins――一個簡短的故事 3
應該使用Jenkins 還是Hudso 4
引進持續集成到你的公司 5
階段1――無構建服務器 5
階段2――夜間構建 6
階段3――夜間構建加自動化測試 6
階段4――加入度量指標 6
階段5――更認真地對待測試 6
階段6――自動化驗收測試和自動化部署 7
階段7――持續部署 7
接下來做什麼呢 7
第2 章 邁入Jenkins 的步 9
簡介 9
準備環境 9
安裝Java 10
安裝Git 11
創建GitHub 賬號 11
配置SSH 密鑰 11
創建代碼庫分支 12
啓動Jenkins 13
配置工具 17
配置你的Mave設置 18
配置K 19
通知 20
設置Git 20
你的個Jenkins 構建作業 21
你的個構建作業 26
更多的報告――顯示Javadoc 33
添加代碼覆蓋率和其他度量 34
小結 40
第3 章 安裝Jenkins 41
簡介 41
下載和安裝Jenkins 41
為Jenkins 準備好構建服務器 44
Jenkins 主目錄 45
在Debia或者Ubuntu 係統上安裝Jenkins 47
在Red Hat、Fedora 或者CentOS 上安裝Jenkins 48
在SUSE 或者OpenSUSE 上安裝Jenkins 49
以單機應用形式運行Jenkins 49
基於Apache 服務器運行Jenkins 53
在應用服務器上運行Jenkins 54
內存方麵的考慮 54
安裝Jenkins 為一個Windows 服務 55
Jenkins 主目錄裏有什麼 59
備份Jenkins 數據 62
升級Jenkins 安裝 63
小結 64
第4 章 配置Jenkins 服務器 65
簡介 65
配置麵闆――Manage Jenkins 界麵 65
配置係統環境 68
配置全局屬性 69
配置K 70
配置構建工具 72
Mave 73
Ant 74
Shell 腳本 75
配置版本控製工具 75
配置Subversio 75
配置CVS 75
配置郵件服務器 76
配置代理 77
小結 78
第5 章 設置構建作業 79
簡介 79
Jenkins 構建作業 79
創建自由式構建作業 80
通用選項 81
高級項目選項 82
配置源代碼管理 83
用Subversio工作 84
使用Git 86
Build Triggers 96
構建作業完成後觸發下一個 97
計劃構建作業 97
輪詢SCM 98
遠程觸發構建 99
手工構建作業 101
構建步驟 101
Mave構建步驟 102
Ant 構建步驟 103
執行Shell 或Windows 批處理命令 104
在構建中使用Jenkins 環境變量 105
運行Groovy 腳本 108
用其他語言構建項目 110
構建後的操作 110
報告測試結果 110
歸檔構建産物 110
通知 114
構建其他的項目 114
運行新的構建作業 115
使用Mave構建作業 115
每當SNAPSHOT(快照)依賴被建立時都要進行構建 116
配置Mave構建 116
構建後期操作 118
部署到企業倉庫管理器 118
部署到商業企業倉庫管理器 122
管理模塊 122
Mave構建作業中額外的構建步驟 122
用其他語言使用Jenkins 124
用Grails 構建項目 124
用Gradle 構建項目 126
用Visual Studio MSBuild 構建項目 129
用NAnt 構建項目 130
使用Ruby 和Ruby oRails 構建項目 130
小結 132
第6 章 自動化測試 133
簡介 133
自動化單元和集成測試 134
在Jenkins 中配置測試報告 135
顯示測試結果 137
忽略測試 140
代碼覆蓋率 142
使用Cobertura 測量代碼覆蓋率 143
使用Clover 測量代碼覆蓋率 152
自動化驗收測試 154
JMeter 自動化性能測試 157
請求幫助!我的測試運行得太慢瞭 165
添加更多的硬件 166
運行更少的集成/ 功能測試 166
並行運行測試 167
小結 167
第7 章 Jenkins 安全 169
簡介 169
激活Jenkins 安全 169
Jenkins 安全實例 170
安全域――定義Jenkins 用戶 171
使用Jenkins 內置用戶數據庫 171
使用LDAP 倉庫 174
使用微軟活動目錄 176
使用UNIX 用戶和用戶組 177
Servlet 容器授權 177
使用AtlassiaCrowd 178
與其他係統集成 179
授權――誰可以做什麼 181
安全矩陣 181
基於項目的安全 185
基於角色的安全 188
審計――跟蹤用戶行為 190
小結 193
第8 章 通知 195
簡介 195
電子郵件通知 195
更高級的電子郵件通知 197
聲明構建 200
RSS 訂閱 202
構建分發器 202
即時消息 204
用Jabber 進行IM 通知 204
使用IRC 的IM 通知 209
IRC 通知 209
桌麵通知器 212
通過Notifo 通知 213
移動通知 216
短信通知 216
製造噪聲 219
反饋設備 221
小結 222
第9 章 代碼質量 225
簡介 225
構建過程中的代碼質量 226
受歡迎的Java 和Groovy 代碼質量分析工具 227
Checkstyle 227
PMD/CPD 230
FindBugs 235
CodeNarc 237
使用Violations 插件報告代碼質量問題 238
與自由風格下的構建作業一起工作 239
使用Mave構建作業 242
使用Checkstyle、PMD 和FindBugs 報告 244
報告代碼復雜度 247
報告未完成的任務 248
集成Sonar 249
小結 253
第10 章 高級構建 255
簡介 255
參數化構建作業 255
創建一個參數化構建作業 256
為構建適配參數化構建腳本 257
高級參數類型 259
使用Subversio標簽構建 260
使用Git 標簽構建 261
遠程啓動參數化構建作業 262
參數化構建作業曆史 263
參數化觸發263
多重結構的構建作業 266
搭建多重結構構建 266
配置從節點軸 267
配置K 軸 268
自定義軸 268
執行多重結構構建 268
自動生成Mave構建作業 271
配置作業 271
使用繼承復用作業配置 273
插件支持 275
自由式作業 278
構建協作 278
在Jenkins 中並行構建 279
依賴關係圖 279
連接 280
Locks and Latches 插件 281
構建管道及優化 282
通過M2Release 插件管理Mave版本發布 283
復製構建産物 286
構建進階 289
匯總測試結果 295
構建管道 296
小結 299
第11 章 分布式構建 301
簡介 301
Jenkins 分布式構建架構 301
Jenkins 主/ 從策略 302
主節點使用SSH 啓動從節點代理 303
使用Java Web Start 手工啓動從代理 307
把Jenkins 從節點安裝為Windows 服務 309
無主節點模式啓動從節點 310
以遠程服務方式啓動Windows 從節點 310
把構建作業與一個或一組從節點關聯 311
節點監控 313
雲計算 314
使用AmazoEC2 314
使用CloudBees DEV@cloud 服務 318
小結 319
第12 章 自動化部署和持續交付 321
簡介 . 321
實現自動化和持續部署 322
部署腳本 322
數據庫更新 322
冒煙測試 325
迴滾更改 326
部署到應用程序服務器上 326
部署一個Java 應用 327
部署像Ruby 和PHP 這樣基於腳本的應用程序 336
小結 339
第13 章 Jenkins 的維護341
簡介 341
監控磁盤空間 341
使用Disk Usage 插件 343
磁盤使用及Jenkins Mave項目類型 344
監控服務器負載 345
備份配置 346
Jenkins 備份基礎 346
使用備份插件 348
更為輕量的自動備份 350
構建作業歸檔 350
構建遷移 351
小結 355
附錄A 自動化你的單元和集成測試 357
索引 367
作者介紹
JohFergusoSmart,Wakaleo Consulting的主管,幫助一些公司優化瞭他們的Java開發實踐和基礎架構。他提供一些在敏捷開發和測試實踐上的培訓和指導,比如持續集成,測試驅動開發,構建自動化和持續部署。
文摘
序言
這本書的編排邏輯非常貼閤一個項目從原型到成熟生命周期的演進過程。它不僅僅關注構建和部署,還花瞭很大篇幅來討論如何管理“配置漂移”和實現環境間的“一緻性”。我感觸最深的是關於“配置即代碼”(Configuration as Code)的實踐部分。作者沒有停留在單純地使用Pipeline腳本,而是深入探討瞭如何使用外部配置管理工具(比如Vault或Consul)與進行無縫集成,確保開發、測試、預發布和生産環境的配置差異是可追蹤、可審計的。這種對DevOps深層理念的貫徹,讓這本書從一本單純的工具指南,升華成瞭一本企業級自動化實踐的參考手冊。對於那些正在努力實現完全自動化、零停機部署的團隊來說,這本書提供的不僅僅是技術指導,更是一種成熟的、可落地的管理框架。它解答瞭“如何纔能真正做到敏捷和可靠”這個終極問題。
評分這本書的排版和案例演示達到瞭一個非常高的水準,這對於技術書籍來說太重要瞭。我發現很多技術書的作者要麼文字功底太弱,導緻代碼和解釋脫節;要麼就是案例過於簡單,脫離實際復雜場景。但這本則完美地平衡瞭兩者。每一個新的概念,比如參數化構建、環境上下文的傳遞,都有一個清晰的、從零開始的步驟圖解。我尤其喜歡它關於“分布式構建”的章節。我們公司有全球部署的需求,需要在不同地域的Agent上執行特定的部署邏輯。書中詳細對比瞭使用Shared Libraries與直接在項目中嵌入Groovy腳本的優缺點,並且提供瞭一個基於Git分支策略來動態加載不同配置庫的實戰方案。這個方案我馬上復製並根據我們自己的基礎設施做瞭微調,效果立竿見影。對於那些在復雜組織架構下推行CI/CD的工程師來說,這本書提供瞭極具參考價值的架構藍圖,它教會你如何構建一個“可擴展”的平颱,而不是一個“一次性”的腳本集閤。
評分坦白講,我一開始是被“入門教程”這個標簽吸引的,但讀下去發現,它對“調試與故障排除”的深度遠遠超齣瞭我的預期。很多工具的“入門書”往往在齣現問題時就束手無策瞭。然而,這本書用大量的篇幅專門講解瞭如何深入到構建日誌的底層,如何利用內置的`catchError`塊進行精確的錯誤捕獲,以及如何配置Webhook來與其他監控係統進行實時聯動。我記得有一次我們遇到瞭一個非常詭異的超時問題,涉及到網絡代理和JVM內存設置的微妙平衡,單純看錯誤碼根本無法定位。正是書中關於如何啓用詳細的調試模式,以及如何分析Agent運行時的係統級日誌的指導,幫助我快速鎖定瞭問題的根源——原來是Agent的JVM參數配置不當導緻的資源競爭。這種“授人以漁”的調試思路,比單純提供幾個“修復命令”要有價值得多。這本書讓你從一個被動接收錯誤的執行者,轉變為一個主動分析和優化係統的架構師。
評分作為一名多年的運維工程師,我對各種自動化工具都抱有過期望又失望過。直到我翻開瞭這本關於持續集成核心概念的書,我纔真正體會到什麼叫“權威”。這本書的厲害之處在於,它沒有沉迷於錶麵的功能展示,而是非常紮實地搭建瞭整個生態的底層認知框架。我特彆欣賞它對“安全掃描集成”和“憑證管理”那一章節的處理。在過去,我們總是把安全環節看得非常邊緣化,用一些粗糙的Shell腳本來勉強支撐。但書裏清晰地展示瞭如何利用內置或第三方插件,在構建的不同階段嵌入靜態代碼分析、依賴漏洞掃描,並且如何安全、規範地在Agent上注入或銷毀敏感密鑰。這種係統性的安全思維的植入,對於提升整個團隊對“安全左移”的理解至關重要。讀完後,我立刻組織瞭一場內部培訓,把書中關於安全最佳實踐的部分作為核心內容進行瞭分享。這本書的知識體係非常完整,適閤那些想要從“會用”升級到“精通”的人。
評分天呐,這本書簡直是開發部署領域的“救命稻草”!我最近接手瞭一個老舊的項目,光是理解那個混亂的CI/CD流程就讓我焦頭爛額。我當時急需一本既有理論深度又不失實戰指導的材料,結果找到瞭它。拿到書的那一刻,我最驚喜的是它對構建流水綫(Pipeline)的講解細緻入微。很多教程隻會告訴你“這麼寫”,但這本書深入剖析瞭Groovy腳本在Pipeline DSL中的應用,讓我明白瞭為什麼某些步驟會失敗,以及如何優雅地處理異常和條件分支。特彆是關於Agent的配置,從Slave節點的動態分配到Label的精確匹配,作者的講解讓我徹底擺脫瞭過去那種“碰運氣”的部署模式。看完前幾章,我就動手重構瞭我們現有的一個核心服務的部署流程,效率提升瞭至少30%,而且關鍵是,現在連團隊裏剛入職的新人都能夠快速上手維護這個復雜的流程瞭。如果你的目標不僅僅是“能跑起來”,而是追求構建係統的健壯性和可維護性,這本書絕對值得你收藏。它不僅僅是一本工具手冊,更像是一本關於現代化軟件交付哲學的教材。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有