中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 JENKINS 2.X實踐指南

作者:翟志軍
出版社:電子工業出版社出版時間:2019-04-01
開本: 其他 頁數: 252
中 圖 價:¥39.7(5.0折) 定價  ¥79.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

JENKINS 2.X實踐指南 版權信息

JENKINS 2.X實踐指南 本書特色

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

JENKINS 2.X實踐指南 內容簡介

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

JENKINS 2.X實踐指南 目錄

目錄
1 關于軟件工程生產力 1
1.1 從另一個角度看“提高軟件工程生產力” . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 從勞動力要素考慮提高軟件工程生產力 . . . . . . . . . . . . . . . . . . . . 2
1.1.2 從勞動對象要素考慮提高軟件工程生產力 . . . . . . . . . . . . . . . . . . . 2
1.1.3 從生產工具要素考慮提高軟件工程生產力 . . . . . . . . . . . . . . . . . . . 3
1.1.4 生產力三要素的意義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Jenkins 介紹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Jenkins 與 DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 pipeline 入門 6
2.1 pipeline 是什么 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Jenkinsfile 又是什么 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 pipeline 語法的選擇 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 創建**個 pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 從版本控制庫拉取 pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6 使用 Maven 構建 Java 應用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 pipeline 語法講解 16
3.1 必要的 Groovy 知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 pipeline 的組成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 pipeline *簡結構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 步驟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 post 部分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 pipeline 支持的指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 配置 pipeline 本身 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.6 在聲明式 pipeline 中使用腳本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.7 pipeline 內置基礎步驟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.7.1 文件目錄相關步驟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.7.2 制品相關步驟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.7.3 命令相關步驟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7.4 其他步驟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7.5 小貼士 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.8 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4 環境變量與構建工具 37
4.1 環境變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.1 Jenkins 內置變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.2 自定義 pipeline 環境變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.1.3 自定義全局環境變量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 構建工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.1 構建工具的選擇 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.2 tools 指令介紹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.3 JDK 環境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.4 Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.5 Go 語言環境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.6 Python 環境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3 利用環境變量支持更多的構建工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.4 利用 tools 作用域實現多版本編譯 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.5 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 代碼質量 50
5.1 靜態代碼分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.1 代碼規范檢查 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.2 使用 PMD 進行代碼規范檢查 . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.3 各靜態代碼分析器之間的區別 . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 單元測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.1 JUnit 單元測試報告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.2 JaCoCo 實現代碼覆蓋率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.3 代碼覆蓋率越高,軟件的質量就越高嗎 . . . . . . . . . . . . . . . . . . . . 58
5.3 性能測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.1 準備性能測試環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.2 運行 JMeter 測試 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4 SonarQube:持續代碼質量檢查 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.4.1 Maven 與 SonarQube 集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4.2 Jenkins 與 SonarQube 集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.4.3 使用 SonarQube Scanner 實現代碼掃描 . . . . . . . . . . . . . . . . . . . . . 67
5.4.4 SonarQube 集成 p3c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.4.5 將分析報告推送到 GitLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.5 Allure 測試報告:更美觀的測試報告 . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.5.1 Allure 測試報告介紹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.5.2 集成 Allure、Maven、Jenkins . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.6 當我們談質量時,談的是什么 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.7 本章小結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6 觸發 pipeline 執行 77
6.1 什么是觸發條件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2 時間觸發 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.1 定時執行:cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.2 輪詢代碼倉庫:pollSCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3 事件觸發 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3.1 由上游任務觸發:upstream . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.3.2 GitLab 通知觸發 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3.3 在 pipeline 中實現 GitLab trigger . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.4 將構建狀態信息推送到 GitLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.5 使用 Generic Webhook Trigger 插件實現觸發 . . . . . . . . . . . . . . . . . . . . . . 87
6.5.1 從 Webhook 請求中提取參數值 . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.5.2 觸發具體某個 Jenkins 項目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.5.3 根據請求參數值判斷是否觸發 Jenkins 項目執行 . . . . . . . . . . . . . . . . 91
6.5.4 控制打印內容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.5.5 控制響應 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.6 本章小結 . . . . .
展開全部

JENKINS 2.X實踐指南 作者簡介

程序員,https://showme.codes 博主。曾任開源中國產品經理。目前就職于美的公司,參與公司IoT系統、DevOps產品的設計與開發,幫助團隊提高軟件生產力。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 压装机-卧式轴承轮轴数控伺服压装机厂家[铭泽机械] | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 中国玩具展_玩具展|幼教用品展|幼教展|幼教装备展 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 海尔生物医疗四川代理商,海尔低温冰箱四川销售-成都壹科医疗器械有限公司 | 高低温万能试验机_拉力试验机_拉伸试验机-馥勒仪器科技(上海)有限公司 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 宠物店加盟_宠物连锁店_开宠物店-【派多格宠物】 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 成都租车_成都租车公司_成都租车网_众行宝 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 字典-新华字典-在线字典查字-字典趣 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 数控走心机-双主轴走心机厂家-南京建克 | 模切之家-专注服务模切行业的B2B平台!| 便携式谷丙转氨酶检测仪|华图生物科技百科| 北京京云律师事务所| 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 |