|
-- 會員 / 註冊 --
|
|
|
|
DevOps 實踐 ( 簡體 字) |
作者:高清華,馬博文 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 45198 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:9/1/2016 |
頁數:216 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121298127 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:前言 DevOps 領域在近年來變得流行而普遍。它是那么的流行,以至于很容易忘記在 2008年以前,當 Patrick Debois 組織起第一個 DevOps 之日大會時,幾乎沒人曾經聽說過該詞。由開發(developers)和運維(operations)組成的 DevOps 這個詞,到底意味著什么?為什么它能造成如此巨大的狂熱?本書的任務就是回答這個看起來很簡單的問題。 簡短的答案就是:DevOps 旨在將不同的社區,比如開發和運維社區,聯合起來變成一個更有效率的整體。 這也反映在本書中。它探索了許多在 DevOps 工作中有用的工具,還有那些更加凝聚人們的工具,這些工具比起那些在人之間劃清邊界的工具來說更令人喜愛。我們用來進行軟件開發的流程也是工具,所以將 DevOsp 相關的不同敏捷流派的各個方面包含進來也是很自然的事。 本書也希望做到像標題說的那樣,注重實戰。讓我們在 DevOps 之路上開始旅程吧! 本書主要內容 第 1 章,DevOps 和持續交付簡介,涉及了 DevOps 的背景,并介紹它是怎樣融入到敏捷開發的廣袤世界的。 第 2 章,洞察全局,它會幫助你了解 DevOps 使用的多個系統如何協同工作,組成一個大整體。 第 3 章,DevOps 如何影響架構,描述了軟件架構的各個方面,以及當我們以 DevOps的視角工作時它對我們的意義。 第 4 章,一切皆代碼,解釋了如何實現一切皆代碼。而且,你需要一個地方來存儲代碼,這個地方就是組織里的源代碼管理系統。 第 5 章,構建代碼,解釋了為何需要系統來構建代碼,介紹了這些系統。 第 6 章,測試代碼,展示了如果需要及早發布或者經常性發布代碼,我們就得對代碼的質量有信心。因此我們需要自動化回歸測試。 第 7 章,部署代碼,展示了當完成了代碼的構建和測試,你需要將其部署到服務器上,這樣客戶就能使用新部署的特性了。 第 8 章,監控代碼,涵蓋了代碼如何通過選擇的部署方案來安全地部署到服務器上。你需要監護著它以使其正常工作。 第 9 章,問題跟蹤,介紹了處理組織內開發流程的系統,例如問題跟蹤軟件。在實現敏捷流程時,這樣的系統是很重要的幫手。 第 10 章,物聯網和 DevOps,描述了 DevOps 如何在物聯網的新興領域幫助我們。 本書的使用要求 本書包含了許多實用例子。為了融會貫通這些例子,你需要一臺機器,最好是基于GNU/Linux 的操作系統,例如 Fedora。 本書的讀者 本書面向那些想要承擔更大責任,并了解基礎設施如何做到構建現代企業的開發者。本書也面向那些想要更好地支持開發者的運維人員。自動化測試的技術人員也是本書的目標受眾。本書主要是包含了許多實例的技術文檔,適合那些想要學習實現具體工作代碼的人員。盡管如此,前兩章的實踐性并不強。它們交代了有助于了解其余章節的背景和概覽。 |
內容簡介:本書詳細講解了DevOps的相關知識,可以更好地促進IT團隊與軟件開發者之間的全方位合作,提高團隊效率來確保軟件正常的開發和運營。本書的主要內容有:對DevOps和持續交付的簡單介紹,DevOps如何影響架構,如何創建企業Java應用程序,如何使用不同的代碼庫,如何使用一些簡單的工具執行代碼測試,如何成功配置你的測試,如何監測代碼異常以及如何處理日志以及跟蹤影響進程的事件。你將會學到:了解DevOps和持續交付的優點以及DevOps如何支持敏捷過程;了解如何將所有系統組裝成一個大的整體;安裝和熟悉所有你可以用來提高效率的DevOps工具;使用Devops設計一款適合持續部署系統的應用程序;使用不同的選項高效地儲蓄和管理代碼,例如Git、Gerrit和 Gitlab;配置job來創建CRUD應用樣本;使用Jenkins Selenium回歸測試測試代碼;使用工具來配置你的代碼,例如:Puppet、Ansible、Palletops、Chef和Vagrant;使用Nagios、Munin和 Graphite監控代碼運行狀態;探索Trac(一個跟蹤事件的工具)的工作方式。 |
目錄:前言 ............ XIII 1 DevOps 和持續交付簡介 ......... 1 DevOps 簡介 ............... 1 多快才算快? ............... 3 敏捷之輪 ............... 4 敏捷不只是形式 ............. 5 DevOps 和 ITIL(信息技術基礎架構庫) ......... 7 總結 ................. 8 2 洞察全局 ............ 9 DevOps 流程和持續交付——概覽 .......... 9 開發人員 .................10 版本控制系統 ................12 構建服務器 .................13 工件庫 .................13 包管理器 .................13 測試環境 .................14 預發布/生產 ................15 發布管理 ............... 15 Scrum、看板和交付流水線 ........... 16 圓滿結束——一個完整的例子 ............ 17 識別瓶頸 ............... 18 總結 ............... 18 DevOps 實踐 3 DevOps 如何影響架構 ......... 19 介紹軟件架構 ............... 19 單塊系統場景 ............... 20 架構經驗法則 ............... 21 關注點分離 ............... 21 內聚原則 ............... 21 耦合 ............... 22 回到單塊系統場景 ............. 22 一個真實例子 ............... 22 三層系統 ............... 23 表示層 ............... 23 業務層 ............... 24 數據層 ............... 24 處理數據庫遷移 ............. 24 滾動升級 ............... 25 Liquibase 的 Hello world ............ 26 變更記錄文件 ............... 27 pom.xml 文件 .............. 27 手動安裝 ............... 29 微服務 ............... 30 小插曲——康威定律............ 31 如何保持服務接口向上兼容 ........... 32 微服務和數據層 ............. 33 DevOps、架構和彈性 ............ 33 總結 ............... 34 4 一切皆代碼 ............ 35 源代碼控制的必要性 ............. 35 源代碼管理歷史 ............. 36 角色和代碼 ............... 37 哪一個源代碼管理系統? ........... 38 源代碼管理系統遷移之言 ........... 39 選擇分支策略 ............... 39 分支問題域 ............... 41 工件版本命名 ............... 42 選擇一個客戶端 ............. 43 創建一個基本的 Git 服務器 ............ 44 共享認證 ............... 45 托管 Git 服務器 .............. 45 大的二進制文件 ............. 46 嘗試不同的 Git 服務器實現 ............ 47 中場休息,插播 Docker ............. 48 Gerrit ................ 49 安裝 git-review 包 ...............49 歷史修正主義的價值 ..............50 拉請求模型 ............... 52 GitLab ................ 52 總結 ............... 54 5 構建代碼 ............ 55 我們為什么要構建代碼 ............. 55 構建系統的各個方面 ............. 56 Jenkins 構建服務器 .............. 57 管理構建依賴 ............... 60 最終工件 ............... 61 用 FPM 取巧 ............... 62 持續集成 ............... 63 持續交付 ............... 64 Jenkins 插件 .............. 64 托管服務器 ............... 66 構建從機 ............... 66 主機上的軟件 ............... 67 觸發器 ............... 68 DevOps 實踐 任務鏈和構建流水線 ............. 68 Jenkins 文件系統結構概覽 ............ 69 構建服務器和基礎設施即代碼 ........... 70 按依賴順序構建 ................70 構建階段 ............... 71 可選的構建服務器 ............. 72 校驗質量指標 ............... 72 構建狀態可視化 ............. 73 嚴肅對待構建錯誤 ............. 74 健壯性 ............... 74 總結 ............... 75 6 測試代碼 ............ 77 人工測試 ............... 77 自動化測試的優缺點 ............. 78 單元測試 ............... 80 一般的 JUnit 和特殊的 JUnit ........... 81 一個 JUnit 的例子 ...............82 Mocking ............... 82 測試覆蓋率 ............... 83 自動化集成測試 ............. 84 在自動化測試中使用 Docker .............84 Arquillian .................85 性能測試 ............... 85 自動化接受測試 ............. 86 自動化 GUI 測試 .............. 88 在 Jenkins 中集成 Selenium 測試 .......... 89 JavaScript 測試 .............. 90 測試后端集成點 ............. 91 測試驅動開發 ............... 93 REPL(交互式命令行)驅動開發 .......... 93 一個完整的自動化測試場景 ........... 94 人工測試 web 應用 ...............94 運行自動化測試 ................97 查找缺陷 .................98 測試巡禮 .................98 用 Docker 處理棘手的依賴 .............. 102 總結 ............... 103 7 部署代碼 ............ 105 為什么有這么多的部署系統 ........... 105 配置基礎操作系統 .............. 106 描述集群 ................. 107 為系統交付包 ................ 107 虛擬化棧 ............... 109 在客戶端執行代碼 ............. 111 有關練習的注意事項 .............. 111 Puppet 服務器和 Puppet 代理 ............ 112 Ansible ............... 113 PalletOps .............. 117 用 Chef 做部署 ............. 117 用 SaltStack 做部署 ............ 118 從執行的模型來比較 Salt、Ansible、Puppet 和 PalletOps ..... 120 Vagrant ............... 121 用 Docker 做部署 ............. 123 對比表 ............... 124 云計算解決方案 ............. 124 AWS ............... 125 Azure ............... 126 總結 ............... 126 8 監控代碼 ............ 127 Nagios ................ 127 DevOps 實踐 Munin ................ 134 Ganglia ................ 138 Graphite ............... 142 日志處理 ............... 144 客戶端日志類庫 ................ 145 ELK .................. 147 總結 ............... 149 9 問題跟蹤 ............ 151 用問題跟蹤器做什么? ............. 151 工作流和問題的一些例子 ........... 152 我們需要從問題跟蹤器里得到什么? ......... 154 問題跟蹤器激增所帶來的問題 ........... 157 所有的跟蹤器 ............. 158 Bugzilla ................ 158 Trac .................. 164 Redmine ................. 172 GitLab 問題跟蹤器 ............... 178 Jira.................. 181 總結 ............... 183 10 物聯網和 DevOps .......... 185 IoT 和 DevOps 簡介 ............. 185 從市場的角度看物聯網的未來 ........... 188 機器到機器的通信 ............. 190 物聯網的部署影響軟件架構 ........... 191 物聯網部署的安全性 ............. 191 好啦,但是 DevOps 和物聯網有什么關系? ........ 192 DevOps 的物聯網設備動手實驗室 ........... 193 總結 ............... 199 |
序: |
|