基本概念与原理
本文档仅适用于2019年6月13日之前创建并未迁移到新版持续交付流水线的企业,使用新版持续交付的企业(2019年6月13日后创建的企业都已经使用新版本),请参看文档
欢迎您了解和使用云效的持续交付相关功能!
为了帮助您快速理解和掌握使用方法,本文概要介绍一下相关基本概念和原理。理解了它们,就摸清了云效持续交付的脉络,学习具体内容就会容易很多。
项目
项目是一个“工作场所”。一伙人(或者一个人)为了一个特定的场景(比如开发一个应用/产品),在这个“工作场所”一起办公,方便地使用这个“工作场所”所关联的各种工具和各类数据。这不仅可以包括这个项目相关的需求、任务、缺陷这些工作项并进行迭代排期,也可以包括这个项目对应的代码库、应用、流水线等(详见下文)。典型的情况,一个项目对应一个代码库及其相应的一个应用,但也可能多个代码库和应用。
流水线
流水线的本质是研发-交付的流程,它把流程中的不同阶段和任务串接在一起,并且(可以设置为)自动化地一步一步地执行。简单的例子,手工触发,构建并部署到一个特定的环境,是一条基本的流水线。复杂的例子,源代码提交自动触发,通过各个环节和阶段的构建、部署、各种检测工作,直到上线,是一条完整的端到端的流水线。详情请从流水线概述开始阅读。
代码库
云效文档中提到代码库,是指存放源代码等内容的Git库。代码库托管在阿里云的code.aliyun.com。要想在本地查看、编写和提交源代码,请首先在您本地机器上安装Git,并设置ssh key以便连接到code.aliyun.com服务器端。更多内容请参考代码服务概述。
构建
构建指根据代码库中的源代码编译构建打包,它是流水线上的一个任务。云效根据Git库中源代码根目录下的<应用名称>.release
文件构建打包,以便部署并运行。<应用名称>.release
文件用键-值对儿的形式定义了如何把源代码构建打包。详情请从构建概述开始阅读。
应用
从源代码的角度看,源代码存放在一个个代码库里。而从部署运行的角度看,一个个Web应用被部署并运行起来,相互配合,实现Web网站的功能。每个Web应用,通常对应了根据一个代码库里的源代码构建生成的包,以及它运行时相关的基础软件和环境的设置等等。它是部署运维的一个(最小)单元。这是应用这个概念的由来。
环境
每个Web应用,在集成测试的环境(在云效中通常称作日常环境)、预发的环境(称作预发环境)、对外提供服务的环境(称作正式环境)等不同的环境里运行。每个环境中,该应用运行在若干台机器(虚机/容器)上。部署时,可能分期分批。每台机器的部署,有特定的方法和步骤。这些都是定义在这个应用的特定环境上。
发布与部署
在云效中,发布是指一次部署以及相关的一些操作,它是流水线上的一个任务。如前文所述,发布和部署的配置,是在应用的环境上。应用、环境、发布与部署的详情,请从应用部署概述开始阅读。