新書推薦:
《
周易
》
售價:NT$
203.0
《
东南亚的传统与发展
》
售價:NT$
306.0
《
乾隆制造
》
售價:NT$
398.0
《
资治通鉴臣光曰辑存 资治通鉴目录(司马光全集)(全二册)
》
售價:NT$
1316.0
《
明代社会变迁时期生活质量研究
》
售價:NT$
1367.0
《
律令国家与隋唐文明
》
售價:NT$
332.0
《
紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插)
》
售價:NT$
449.0
《
现代吴语的研究(中华现代学术名著3)
》
售價:NT$
296.0
|
編輯推薦: |
这本书为个人及组织提供了利用DevOps和GitHub功能的清晰、简洁、实用的指南。Michael,我为你的辛勤工作感到骄傲,但除此之外,更自豪的是我知道它将有助于为他人创造有意义的改变和进步。 ——Thomas Dohmke,GitHub公司CEOMichael介绍了软件架构及其对开发过程和团队的影响,还介绍了如何权衡每个选项,以帮助团队决定哪一个才是最好的。我相信,读者会发现这本书是支持DevOps转型不可或缺的工具。 ——Donovan Brown,Azure CTO孵化团队的合作伙伴项目经理
|
內容簡介: |
本书是关于DevOps的实用指南,使用GitHub作为平台,展示了如何利用GitHub工具集的强大功能进行协作、精益管理,以及实现安全快速的软件交付,从而将DevOps和DevSecOps提升到一个新的水平。书中为常见问题提供了简单的解决方案,读者将学习如何找到正确的度量标准,以及如何学习其他团队的成功经验。读者将学会利用GitHub来加速价值交付,具体包括:使用GitHub Projects实现工作的可视化,使用GitHub Insights衡量正确的指标,使用GitHub Actions和Advanced Security开展可靠的和经过验证的工程实践,以及迁移到基于事件的、松散耦合的软件架构。最后,本书介绍了影响软件交付性能的因素,并指出了一些可持续改进的方向。
|
關於作者: |
迈克尔考夫曼
(Michael Kaufmann)
德国Xpirit公司创始人兼CEO,在IT行业担任顾问和经理超过20年,致力于通过云、敏捷和DevOps帮助用户获得成功。微软曾授予他微软区域总监(RD)和微软最有价值专业人士(MVP)的头衔。他经常在国际会议上发表演讲,并且积极地通过书籍、培训等分享知识和经验。
|
目錄:
|
目 录
译者序
推荐序一
推荐序二
前言
作者简介
审校者简介
第一部分 精益管理与协作
第1章 重要的指标 2
为什么要加速 2
工程效率 4
高效能企业 8
衡量重要的指标 10
提升开发者效率的SPACE框架 12
目标与关键结果 15
案例研究 18
总结 19
拓展阅读 20
第2章 计划、跟踪和可视化工作 21
工作就是工作 21
非计划的工作和返工 22
工作可视化 23
限制在制品 25
GitHub的Issues、Labels和
Milestones 26
GitHub Projects 35
第三方集成 41
案例研究 46
总结 47
拓展阅读和参考资料 47
第3章 团队合作与协作开发 49
软件开发是一项团队活动 49
协作的核心—Pull Request 50
动手实践:创建一个Pull Request 53
提交更改 57
Pull Request审阅 61
代码审阅的最佳实践 67
总结 68
拓展阅读和参考资料 68
第4章 异步工作:无处不在
的协作 70
比较同步和异步工作 70
分布式团队 74
跨团队合作 74
向异步工作流程转变 75
团队和Slack集成 75
GitHub Discussions 76
GitHub Pages和GitHub Wiki 79
通过GitHub Mobile随时随地
工作 86
案例研究 88
总结 89
拓展阅读和参考资料 89
第5章 开源和内部开源对软件
交付性能的影响 90
自由软件和开源软件的历史 91
开源与开放开发的区别 93
企业采用开源的好处 93
实施开源战略 94
开源和内部开源 95
内包的重要性 96
GitHub赞助商 97
总结 99
拓展阅读和参考资料 100
第二部分 工程DevOps实践
第6章 使用GitHub Actions
实现自动化 102
GitHub Actions概述 102
工作流、流水线和操作 103
YAML基础 104
工作流语法 105
使用密钥工作 111
动手实践:第一个工作流 114
动手实践:第一个操作 117
GitHub Marketplace 120
总结 122
拓展阅读 122
第7章 运行工作流 124
托管执行器 124
自托管执行器 127
使用执行器组管理访问 131
使用标签 132
扩展自托管执行器 133
监控和故障排除 134
案例研究 136
总结 136
拓展阅读 136
第8章 使用GitHub Packages
管理依赖 137
GitHub Packages 138
将npm包和Actions结合使用 140
将Docker和包结合使用 143
Apache Maven、Gradle、NuGet
和RubyGems包 146
总结 148
拓展阅读 149
第9章 部署到任何平台 150
分阶段部署 150
自动化部署 153
如何部署到Azure App
Service 153
如何部署到AWS ECS 156
如何部署到GKE 158
基础设施即代码 160
衡量成功 164
案例研究 166
总结 167
拓展阅读 167
第10章 功能标记和功能
生命周期 169
什么是功能标记 169
功能的生命周期 170
功能标记的优点 172
开始使用功能标记 173
功能标记和技术债务 174
框架和产品 175
使用功能标记进行实验 176
总结 178
拓展阅读 178
第11章 主干开发 179
主干开发简介 179
为什么应该避免复杂分支 180
其他git工作流 181
使用MyFlow加速 184
案例研究 189
总结 190
拓展阅读 190
第三部分 自信发布
第12章 使用左移测试来提高
质量 194
利用测试自动化进行左移测试 194
根除不稳定的测试 199
代码覆盖率 199
右移—在生产中测试 200
故障注入和混沌工程 201
测试与合规性 202
GitHub中的测试管理 203
案例研究 205
总结 206
拓展阅读 206
第13章 左移安全和
DevSecOps 208
左移安全 208
假设攻击、零信任和安全第一的
思维方式 209
攻击模拟 211
红队-蓝队演习 211
攻击场景 213
GitHub Codespaces 215
总结 219
拓展阅读 220
第14章 代码保护 221
依赖管理和Dependabot 222
密码扫描 230
代码扫描 234
编写CodeQL查询 245
总结 248
拓展阅读 248
第15章 保护部署 250
容器和基础设施安全扫描 250
自动化基础设施变更流程 253
源代码和基础设施完整性 254
动态应用程序安全测试 259
加固发布流水线的安全性 261
案例研究 266
总结 267
拓展阅读 267
第四部分 软件架构
第16章 松散耦合架构和
微服务 270
松散耦合系统 270
微服务 271
|
內容試閱:
|
前 言
我们已经进入21世纪20年代,十多年的研究表明,具有高开发人员绩效的公司不仅在速度和产量方面优于竞争对手,而且在质量、创新、安全性、员工满意度,以及最重要的客户满意度方面得分更高。
除了一些独角兽公司,大多数传统企业都在努力转型。传统产品僵化的结构和缓慢的流程、单一的应用架构以及漫长的发布周期使得公司很难做出改变。
这并不是一个新现象。转型变革总是艰难的,公司需要很多年才能真正成功,失败的概率也非常高,这是因为转型必须在许多层面上进行—如果这些变化没有对齐,转型必然会失败。本书通过提供高开发人员绩效的研究,及加速软件交付的实例来帮助读者完成转型。
本书是DevOps实用指南,可帮助那些踏上DevOps之旅的团队进一步深入理解DevOps,并通过为常见问题提供简单的解决方案来提高软件交付性能。它将帮助团队找到正确的指标来衡量成功,并从其他成功案例中学习,而不是复制这些团队所做的事情。本书使用GitHub作为DevOps平台,展示了如何利用GitHub进行协作、精益管理以及安全和快速的软件交付。
读完本书后,读者将理解影响软件交付性能的因素,以及如何度量交付能力。因此读者将意识到自己所处的位置以及如何通过透明和简单的跨团队协作解决方案在“旅程”中前进。基于常见问题的简单解决方案,读者将了解如何利用GitHub的强大功能来加速:使用GitHub Projects实现工作的可视化;使用GitHub Insights衡量正确的指标;使用GitHub Actions和Advanced Security开展可靠的和经过验证的工程实践;以及迁移到基于事件的、松散耦合的软件架构。
本书的目标读者
本书适合开发人员、解决方案架构师、DevOps工程师和SRE,以及希望提高软件交付性能的工程师和产品经理阅读。这些人可能是DevOps的新手,或者已经有经验但很难实现最佳性能。他们可能已经有使用GitHub Enterprise或其他平台(如Azure DevOps、Team Foundation Server、GitLab、Bitbucket、Puppet、Chef或Jenkins)的经验。
本书内容
第1章介绍精益管理背后的理论以及如何衡量绩效和文化变革。该章探讨了开发人员的生产力以及为什么这对于吸引人才和实现出色的客户满意度非常重要。
第2章介绍工作见解—通过应用精益原则加快软件交付速度。读者将学习如何使用GitHub Issues、Labels、Milestones和Projects在团队和产品之间计划、跟踪和可视化工作。
第3章介绍软件协作开发的重要性,以及如何利用GitHub在团队和不同领域之间进行协作。
第4章介绍异步工作方式的好处,以及如何利用它们来改善和共享责任,同时介绍了分布式团队、跨团队合作等内容。该章介绍了如何利用GitHub Mobile、Microsoft Teams、Slack、GitHub Pages、GitHubWiki和GitHub Discussions等工具,随时随地进行团队协作。
第5章介绍自由软件和开源软件的历史以及在近年来和云计算背景下的重要性。该章将介绍如何利用开源加快软件交付速度。此外,还将解释如何将开源实践应用于内部开源,帮助读者改变组织,并介绍开源和内部开源对内包和外包战略的影响。
第6章介绍自动化对于质量和速度的重要性。其中介绍了GitHub Actions以及如何使用它们进行各种类型的自动化,不仅仅局限于持续交付。
第7章介绍如何对GitHub Actions工作流程执行器使用不同的托管选项来处理混合云场景或硬件在环测试。其中展示了如何设置和管理自托管执行器。
第8章介绍如何结合GitHub Packages和语义化版本控制,借助GitHub Actions来管理团队和产品之间的依赖关系。
第9章介绍如何使用简单的实例在Microsoft Azure、AWS Elastic Container Service和Google Kubernetes Engine等任何云和平台上进行轻松部署。该章展示了如何使用GitHub Actions进行分阶段部署,以及如何使用基础设施即代码来自动化资源的供应。
第10章介绍功能标记(或功能切换)如何帮助读者减少复杂性并管理功能和软件的生命周期。
第11章介绍基于主干进行开发的好处,并介绍了加速软件交付的最佳工作流git。
第12章更详细地探讨了质量保证和测试对开发者速度的作用,并展示了如何通过测试自动化实现左移测试。该章还涵盖了在生产环境中进行测试和混沌工程。
第13章更广泛地探讨了安全在软件开发中的作用,如何将安全融入流程和实践DevSecOps,零信任以及如何左移安全。该章讨论了常见的攻击场景以及如何通过攻击模拟和红队-蓝队演习来实践安全并增强安全意识。该章还介绍了云上安全的开发环境GitHub Codespaces。
第14章介绍如何使用GitHub高级安全功能利用CodeQL和其他工具进行静态代码分析来消除漏洞、安全和合规问题,同时介绍了如何使用Dependabot成功管理软件供应链,以及如何使用密码扫描消除代码库中的密码信息。
第15章介绍如何保护环境中的部署,并以符合法规要求的方式自动化完整发布流水线。该章涵盖了软件物料清单(SBOM)、代码和提交签名、动态应用程序安全测试以及加固发布流水线的安全性。
第16章介绍松散耦合系统的重要性以及如何演变软件设计以实现这一目标
|
|