cosven / cosven.github.io

个人零碎笔记,博客草稿,阅读笔记
10 stars 0 forks source link

读 《Continuous Integration Improving Software Quality and Reducing Risk》 #46

Open cosven opened 7 years ago

cosven commented 7 years ago

讲道理,这本书期待的许多事情,现在已经做得很好了。所以看这本书的意义大概在于铺垫基础,让自己做得事情有理论依据。


(当年读书似乎不需要记笔记 2333)

Chapter 1: Getting Started

描述 CI 的一些特点,CI 的关键过程。书本后面的几个问题都能回答上来。

Chapter 2: Introducing Continuous Integration

时隔两年,记录一下脑海中的记忆

  1. 拉代码
  2. 构建
  3. 准备数据
  4. 跑测试
  5. 打包
  6. 上传

Chapter 7: Continuous Inspection.

介绍 Code Inspection 要从哪几个方面进行。怎样把这些步骤嵌入到 CI 中。

  1. Reduce code complexity。在 review 过程做
  2. Perform Design Reviews continuously。JDepend and NDepend ?
  3. Maintain organiza-tional standards with code audits。在 review 过程,pylint 等也算吧。
  4. Reduce Duplicate Code。PMD ?
  5. Assess code coverage。unittest 过程进行
cosven commented 5 years ago

Chapter 4. Building Software at Every Change

Automate Builds

讲了 Build a Software 应该干哪些事情,这些事情必须全部进行才算是真正的 Build。

强调一条命令就要跑起来整个 build 是非常非常重要的

The Integrate button concept is realized only if you can run your build via a single command.

理念:Press the button” and your software is built (and deployed).

Separate Build Scripts from Your IDE

Centralize Software Assets

Centralizing software assets into a version control system

应该在 build script 中进行控制

Build for Any Environment

Build Types and Mechanisms

Build Types 指不同环境下进行 Build,比如说先本地,然后CI,最后 Production。 Build Mechanisms 比如:On-demand(手动); Scheduled; Poll for changes; Event-driven;

Use a Dedicated Integration Build Machine

The Magic Machine but it works on my machine!

Use a CI Server

Run Manual Integration Builds

可以忽略吧...

Run Fast Builds

考虑一些 Build 的一些 Scalability 和 Performance。

Stage BUilds

先进行一个 lightweight build,比如 build 修改的部分

How Will This Work for You?

不同的项目(巨大项目,老项目)怎样将 CI 运用到项目中去。