幫助中心 | 我的帳號 | 關於我們

Jenkins2.x實踐指南

  • 作者:編者:翟志軍
  • 出版社:電子工業
  • ISBN:9787121360503
  • 出版日期:2019/04/01
  • 裝幀:平裝
  • 頁數:239
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書首先介紹筆者對軟體工程生產力的獨到見解。其次通過一個Hello world帶領初學者入門Jenkins pipeline。接著詳細介紹Jenkins pipeline的語法,以及在Jenkins pipeline中如何實現持續集成、持續交付中各個階段,包括構建、測試、製品管理、部署等;在發現現有pipeline的步驟不能滿足需求時,擴展Jenkins pipeline多種方式。本書第17章介紹了Jenkins如何整合多個第三方系統,以實現ChatOps及自動化運維。為避免讀者「不知從哪下手」的情況,本書通過一個簡單的案例介紹從無到有的設計pipeline。
    本書的讀者對象包括:希望通過Jenkins實現持續集成、持續交付、DevOps,以提升團隊生產力的技術人員和管理人員。

作者介紹
編者:翟志軍
    翟志軍,程序員。     https://showme.codes博主。現就職于某傳統家電製造公司,參與DevOps產品的開發。

目錄
1  關於軟體工程生產力
  1.1  從另一個角度看「提高軟體工程生產力」
    1.1.1  從勞動力要素考慮提高軟體工程生產力
    1.1.2  從勞動對象要素考慮提高軟體工程生產力
    1.1.3  從生產工具要素考慮提高軟體工程生產力
    1.1.4  生產力三要素的意義
  1.2  Jenkins介紹
  1.3  Jenkins與DevOps
  1.4  本章小結
2  pipeline入門
  2.1  pipeline是什麼
  2.2  Jenkinsfile又是什麼
  2.3  pipeline語法的選擇
  2.4  創建第一個pipeline
  2.5  從版本控制庫拉取pipeline
  2.6  使用Maven構建Java應用
  2.7  本章小結
3  pipeline語法講解
  3.1  必要的Groovy知識
  3.2  pipeline的組成
    3.2.1  pipeline最簡結構
    3.2.2  步驟
  3.3  post部分
  3.4  pipeline支持的指令
  3.5  配置pipeline本身
  3.6  在聲明式pipeline中使用腳本
  3.7  pipeline內置基礎步驟
    3.7.1  文件目錄相關步驟
    3.7.2  製品相關步驟
    3.7.3  命令相關步驟
    3.7.4  其他步驟
    3.7.5  小貼士
  3.8  本章小結
4  環境變數與構建工具
  4.1  環境變數
    4.1.1  Jenkins內置變數
    4.1.2  自定義pipeline環境變數
    4.1.3  自定義全局環境變數
  4.2  構建工具
    4.2.1  構建工具的選擇
    4.2.2  tools指令介紹
    4.2.3  JDK環境搭建
    4.2.4  Maven
    4.2.5  Go語言環境搭建
    4.2.6  Python環境搭建
  4.3  利用環境變數支持更多的構建工具
  4.4  利用tools作用域實現多版本編譯
  4.5  本章小結
5  代碼質量
  5.1  靜態代碼分析

    5.1.1  代碼規範檢查
    5.1.2  使用PMD進行代碼規範檢查
    5.1.3  各靜態代碼分析器之間的區別
  5.2  單元測試
    5.2.1  JUnit單元測試報告
    5.2.2  JaCoCo實現代碼覆蓋率
    5.2.3  代碼覆蓋率越高,軟體的質量就越高嗎
  5.3  性能測試
    5.3.1  準備性能測試環境
    5.3.2  運行JMeter測試
  5.4  SonarQube:持續代碼質量檢查
    5.4.1  Maven與SonarQube集成
    5.4.2  Jenkins與SonarQube集成
    5.4.3  使用SonarQube Scanner實現代碼掃描
    5.4.4  SonarQube集成p3c
    5.4.5  將分析報告推送到GitLab
  5.5  Allure測試報告:更美觀的測試報告
    5.5.1  Allure測試報告介紹
    5.5.2  集成Allure、Maven、Jenkins
  5.6  當我們談質量時,談的是什麼
  5.7  本章小結
6  觸發pipeline執行
  6.1  什麼是觸發條件
  6.2  時間觸發
    6.2.1  定時執行:cron
    6.2.2  輪詢代碼倉庫:pollSCM
  6.3  事件觸發
    6.3.1  由上游任務觸發:upstream
    6.3.2  GitLab通知觸發
    6.3.3  在pipeline中實現GitLab trigger
  6.4  將構建狀態信息推送到GitLab
  6.5  使用Generic Webhook Trigger插件實現觸發
    6.5.1  從Webhook請求中提取參數值
    6.5.2  觸發具體某個Jenkins項目
    6.5.3  根據請求參數值判斷是否觸發Jenkins項目執行
    6.5.4  控制列印內容
    6.5.5  控制響應
  6.6  本章小結
7  多分支構建
  7.1  創建多分支pipeline
  7.2  根據分支部署到不同的環境
  7.3  when指令的用法
  7.4  GitLab trigger對多分支pipeline的支持
  7.5  Generic Webhook Trigger插件在多分支pipeline場景下的應用
  7.6  本章小結
8  參數化pipeline
  8.1  什麼是參數化pipeline
  8.2  使用parameters指令
    8.2.1  parameters指令支持的參數類型
    8.2.2  多參數

  8.3  由另一個pipeline傳參並觸發
  8.4  使用Conditional BuildStep插件處理複雜的判斷邏輯
  8.5  使用input步驟
    8.5.1  input步驟的簡單用法
    8.5.2  input步驟的複雜用法
  8.6  小貼士
    8.6.1  獲取上游pipeline的信息
    8.6.2  設置手動輸入步驟超時后,pipeline自動中止
  8.7  本章小結
9  憑證管理
  9.1  為什麼要管理憑證
  9.2  憑證是什麼
  9.3  創建憑證
  9.4  常用憑證
    9.4.1  Secret text
    9.4.2  Username with password
    9.4.3  Secret file
    9.4.4  SSH Username with private key
  9.5  優雅地使用憑證
  9.6  使用 HashiCorp Vault
    9.6.1  HashiCorp Vault介紹
    9.6.2  集成HashiCorp Vault
  9.7  在Jenkins日誌中隱藏敏感信息
  9.8  本章小結
10  製品管理
  10.1  製品是什麼
  10.2  製品管理倉庫
  10.3  過渡到製品庫
  10.4  管理Java棧製品
    10.4.1  使用Maven發布製品到Nexus中
    10.4.2  使用Nexus插件發布製品
  10.5  使用Nexus管理Docker鏡像
    10.5.1  Nexus:創建Docker私有倉庫
    10.5.2  創建Docker私有倉庫憑證
    10.5.3  構建併發布Docker鏡像
    10.5.4  小貼士
  10.6  管理原始製品
    10.6.1  創建raw倉庫
    10.6.2  上傳製品,獲取製品
  10.7  從其他pipeline中拷貝製品
  10.8  版本號管理
    10.8.1  語義化版本
    10.8.2  版本號的作用
    10.8.3  方便生成版本號的Version Number插件
  10.9  小貼士
    10.9.1  Nexus匿名用戶許可權問題
    10.9.2  製品庫的容量要大
  10.10  本章小結
11  可視化構建及視圖
  11.1  Green Balls插件

  11.2  Build Monitor View插件
  11.3  使用視圖
    11.3.1  使用項目的維度建立視圖
    11.3.2  設置默認視圖
  11.4  本章小結
12  自動化部署
  12.1  關於部署有什麼好說的
    12.1.1  部署不等於發布
    12.1.2  什麼是自動化部署
    12.1.3  自動化運維工具解決的問題
  12.2  Jenkins集成Ansible實現自動化部署
    12.2.1  Ansible介紹
    12.2.2  Jenkins與Ansible集成
    12.2.3  Ansible插件詳解
  12.3  手動部署比自動化部署更可靠嗎
  12.4  如何開始自動化部署
  12.5  小貼士
  12.6  本章小結
13  通知
  13.1  郵件通知
    13.1.1  使用Jenkins內置郵件通知功能
    13.1.2  使用Email Extension插件發送通知
  13.2  釘釘通知
  13.3  HTTP請求通知
  13.4  本章小結
14  分散式構建與並行構建
  14.1  Jenkins架構
  14.2  增加agent
    14.2.1  對agent打標籤
    14.2.2  通過JNLP協議增加agent
    14.2.3  通過JNLP協議增加Windows agent
    14.2.4  通過Swarm插件增加agent
    14.2.5  agent部分詳解
    14.2.6  小結
  14.3  將構建任務交給Docker
    14.3.1  在Jenkins agent上安裝Docker
    14.3.2  使用Docker
    14.3.3  配置Docker私有倉庫
  14.4  並行構建
    14.4.1  在不同的分支上應用並行構建
    14.4.2  並行步驟
    14.4.3  並行階段與並行步驟之間的區別
  14.5  本章小結
15  擴展pipeline
  15.1  為什麼要擴展pipeline
  15.2  在pipeline中定義函數
  15.3  使用共享庫擴展
    15.3.1  創建共享庫
    15.3.2  使用共享庫
    15.3.3  @Library的更多用法

    15.3.4  共享庫結構詳細介紹
    15.3.5  使用共享庫實現pipeline模板
  15.4  通過Jenkins插件實現pipeline步驟
    15.4.1  生成Jenkins插件代碼骨架
    15.4.2  啟動Jenkins測試:mvn hpi:run
    15.4.3  在Jenkinsfile中使用greet步驟
    15.4.4  全局配置插件
  15.5  本章小結
16  Jenkins運維
  16.1  認證管理
    16.1.1  使用Jenkins自帶的用戶資料庫
    16.1.2  使用LDAP認證
  16.2  授權管理
    16.2.1  使用Role-based Authorization Strategy插件授權
    16.2.2  管理角色
    16.2.3  許可權大全
    16.2.4  角色分配
    16.2.5  小結
  16.3  Jenkins監控
    16.3.1  使用Monitoring插件監控
    16.3.2  使用Prometheus監控
  16.4  Jenkins備份
    16.4.1  JENKINS_HOME介紹
    16.4.2  使用Periodic Backup插件進行備份
  16.5  漢化
  16.6  Jenkins配置即代碼
  16.7  使用init.groovy配置Jenkins
  16.8  本章小結
17  自動化運維經驗
  17.1  小團隊自動化運維實踐經驗
    17.1.1  先做監控和告警
    17.1.2  一開始就應該做配置版本化
    17.1.3  Jenkins化:將打包工作交給Jenkins
    17.1.4  將製品交給Nexus管理
    17.1.5  讓Jenkins幫助我們執行Ansible
    17.1.6  小結
  17.2  ChatOps實踐
    17.2.1  Rocket.Chat
    17.2.2  Hubot
    17.2.3  Hubot與Jenkins集成
    17.2.4  Jenkins推送消息到Rocket.Chat
  17.3  本章小結
18  如何設計pipeline
  18.1  設計pipeline的步驟
  18.2  以X網站為例,設計pipeline
  18.3  X網站pipeline詳解
    18.3.1  盡可能將所有的具體操作都隱藏到共享庫中
    18.3.2  只生成一次製品
    18.3.3  對不同環境採用同一種部署方式
    18.3.4  配置版本化

    18.3.5  系統集成測試
    18.3.6  如何實現指定版本部署
    18.3.7  主幹開發,分支發布
  18.4  本章小結
後記

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032