项目管理
构建系统¶
- 系统的任务则是找到构建目标所需要的依赖,并根据规则构建所需的中间产物,直到最终目标被构建出来。
[[make|makefile]]¶
依赖管理¶
- 版本管理
- 软件包的更新可能造成方法、接口的改变,很可能导致构建失败,因为它希望调用的函数已经不复存在了。
- 有了版本控制就可以很好的解决这个问题,我们可以指定当前项目需要基于某个版本,甚至某个范围内的版本,或是某些项目来构建。
- 版本号
- 如果新的版本没有改变 API,请将补丁号递增;
- 如果您添加了 API 并且该改动是向后兼容的,请将次版本号递增;
- 如果您修改了 API 但是它并不向后兼容,请将主版本号递增。
- 如果我们的项目是基于别项目构建的,那么只要最新版本的主版本号只要没变就是安全的 ,次版本号不低于之前我们使用的版本即可。
- 如果我依赖的版本是
1.3.7
,那么使用1.3.8
、1.6.1
,甚至是1.3.0
都是可以的。 - 锁文件
- 锁文件列出了您当前每个依赖所对应的具体版本号。
- 需要执行升级程序才能更新依赖的版本。
- 避免不必要的重新编译、创建可复现的软件版本或禁止自动升级到最新版本
- 确保可重复的结果
-
锁文件通常是自动生成的,并且应该与项目代码一起检入版本控制系统。当其他开发者或者部署流程检出代码库时,锁文件会被用来安装确定的依赖版本,以确保所有人都在相同的开发环境下工作,减少了“在我机器上能运行”的问题。
-
冒号左侧的是构建目标,冒号右侧的是构建它所需的依赖冒号左侧的是构建目标,冒号右侧的是构建它所需的依赖冒号左侧的是构建目标,冒号右侧的是构建它所需的依赖冒号左侧的是构建目标,冒号右侧的是构建它所需的依赖
持续集成¶
- 在代码仓库中添加一个文件,描述当前仓库发生任何修改时,应该如何应对。
- 如当有人提交代码,执行测试套件。