Jenkins權威指南

Jenkins權威指南

《Jenkins權威指南》 一書原作者John Ferguson Smart(約翰·弗格森·斯馬特),中文版由郝樹偉譯,電子工業出版社2016年10月出版

內容提要

《Jenkins權威指南》從實踐者的角度,在講解Jenkins基本原理的同時,深入到持續集成、持續交付領域,為讀者梳理出如何使用Jenkins設計和實現一個自動化的、周期性的集成測試過程,幫助讀者理解Jenkins適用於什麼場景。《Jenkins權威指南》中首先介紹Jenkins以及持續集成、持續交付的基礎知識;然後安裝Jenkins和配置Jenkins伺服器,使用Jenkins建立構建作業、進行自動化測試,介紹Jenkins支持的幾種安全模式,如何使用Jenkins進行訊息通知,如何確保代碼質量;最後進階展示如何建立高級的和分散式的構建,如何進行自動化的部署和交付以及對Jenkins的運維。

《Jenkins權威指南》適合想要了解Jenkins工具以及持續集成、持續交付理念的開發和測試人員閱讀,也非常適合基於Jenkins構建持續集成、持續交付平台的技術人員閱讀。  

目錄

序 xvii

前言 xix

第1 章 Jenkins 簡介 1

簡介 1

持續集成基礎 1

Jenkins 簡介(née Hudson) 3

從Hudson 到Jenkins——一個簡短的故事 3

應該使用Jenkins 還是Hudson 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

配置你的Maven 設定 18

配置JDK 19

通知 20

設定Git 20

你的第一個Jenkins 構建作業 21

你的第一個構建作業 26

更多的報告——顯示Javadoc 33

添加代碼覆蓋率和其他度量 34

小結 40

第3 章 安裝Jenkins 41

簡介 41

下載和安裝Jenkins 41

為Jenkins 準備好構建伺服器 44

Jenkins 主目錄 45

在Debian 或者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

配置JDK 70

配置構建工具 72

Maven 73

Ant 74

Shell 腳本 75

配置版本控制工具 75

配置Subversion 75

配置CVS 75

配置郵件伺服器 76

配置代理 77

小結 78

第5 章 設定構建作業 79

簡介 79

Jenkins 構建作業 79

創建自由式構建作業 80

通用選項 81

高級項目選項 82

配置原始碼管理 83

用Subversion 工作 84

使用Git 86

Build Triggers 96

構建作業完成後觸發下一個 97

計畫構建作業 97

輪詢SCM 98

遠程觸發構建 99

手工構建作業 101

構建步驟 101

Maven 構建步驟 102

Ant 構建步驟 103

執行Shell 或Windows 批處理命令 104

在構建中使用Jenkins 環境變數 105

運行Groovy 腳本 108

用其他語言構建項目 110

構建後的操作 110

報告測試結果 110

歸檔構建產物 110

通知 114

構建其他的項目 114

運行新的構建作業 115

使用Maven 構建作業 115

每當SNAPSHOT(快照)依賴被建立時都要進行構建 116

配置Maven 構建 116

構建後期操作 118

部署到企業倉庫管理器 118

部署到商業企業倉庫管理器 122

管理模組 122

Maven 構建作業中額外的構建步驟 122

用其他語言使用Jenkins 124

用Grails 構建項目 124

用Gradle 構建項目 126

用Visual Studio MSBuild 構建項目 129

用NAnt 構建項目 130

使用Ruby 和Ruby on Rails 構建項目 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

使用Atlassian Crowd 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/CPD230

FindBugs 235

CodeNarc237

使用Violations 外掛程式報告代碼質量問題 238

與自由風格下的構建作業一起工作 239

使用Maven 構建作業 242

使用Checkstyle、PMD 和FindBugs 報告 244

報告代碼複雜度 247

報告未完成的任務 248

集成Sonar 249

小結 253

第10 章 高級構建 255

簡介 255

參數化構建作業 255

創建一個參數化構建作業 256

為構建適配參數化構建腳本 257

高級參數類型 259

使用Subversion 標籤構建 260

使用Git 標籤構建 261

遠程啟動參數化構建作業 262

參數化構建作業歷史 263

參數化觸發263

多重結構的構建作業 266

搭建多重結構構建 266

配置從節點軸 267

配置JDK 軸 268

自定義軸 268

執行多重結構構建 268

自動生成Maven 構建作業 271

配置作業 271

使用繼承復用作業配置 273

外掛程式支持 275

自由式作業 278

構建協作 278

在Jenkins 中並行構建 279

依賴關係圖 279

連線 280

Locks and Latches 外掛程式 281

構建管道及最佳化 282

通過M2Release 外掛程式管理Maven 版本發布 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

使用Amazon EC2 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 Maven 項目類型 344

監控伺服器負載 345

備份配置 346

Jenkins 備份基礎 346

使用備份外掛程式 348

更為輕量的自動備份 350

構建作業歸檔 350

構建遷移 351

小結 355

附錄A 自動化你的單元和集成測試 357

索引 367  

相關詞條

相關搜尋

熱門詞條

聯絡我們