持续集成(Continuous Integration)
管道(Pipeline)
持续集成(CI)是每当团队成员提交变更至版本控制系统后,自动化生成并测试代码的过程。
管道(Pipeline)定义了应用程序的持续集成过程。管道由很多步骤组成,这些步骤被称为任务(Task)①。可以把管道任务想象成一段脚本,这段脚本定义了应用如何逐步被生成、测试、部署
管道在代码被提交后被触发运行②。管道可以被设置为自动运行,也可以手动运行。管道需要对接到代码仓库,比如GitHub,Bitbucket或者Subversion。
任务代理(Build Agent)③生成或部署代码。每当生成或部署开始时,系统会启动一个或多个任务(jobs)。任务代理(Agent)是每次运行生成或部署任务时运行的可被安装的软件。在使用Azure Pipelines时,我们可以使用Microsoft-hosted agend。使用Microsoft-hosted agents,我们得以免于亲自管理。管道每次事实上运行于一个新建的虚拟机里。一共有六种类型的虚拟机镜像可供选择,比如Ubuntu 16.04。
管道的最终产物是build artifact④,Artifact可以被视为编译得到的需要被测试或部署的最小的单元。比如,artifact可以是:
- 一个打包成.jar或.zip文件的Java或.net应用
- 一个C++或Javascript库
- 一个虚拟机,云或Docker镜像