核心
CI(Continuous Integration)持续集成,CD(Continuous Delivery)持续交付
基础概念
-
Task
- 基本上为一个命令,如执行一个ls系统命令,ant构建命令
-
Job
- 由多个Task组合而成,Task命令的执行是相互独立的,即修改的环境变量不会影响到其他命令,但文件系统的修改会对其他Job可见;
- Task会按照配置顺序依次执行,但如果一个Task失败,后续task将会取消执行;
- Job的成功与否取决于所有Task是否全部执行成功;
-
Stage
- 由多个Job组合而成;
- Job会并行执行;
- 成功与否由全部Task是否成功决定;
-
Pipeline
- 由多个Stage组合而成;
- 执行方式为依次执行,其中一个Stage执行失败,将不会执行后续Stage;
-
Material(资源)
- 使用Git,Svn;GoCD会轮训检测资源变更,以触发Pipline;
- 可以使用版本库(git,svn),其他Pipline的Stage;
-
Fan-out and fan-in(扇出和扇入)
- Fan-out 表示一个Stage的结束可以触发多个Pipeline的Stage开始
- Fan-in 表示一个Pipeline的开始可以等待多个Stage完成后才被触发
-
Value Stream Map (VSM)
- 数据驱动流图,即复杂的Fan-out和Fan-in的视图;
-
Artifacts
- 在Job上配置,默认会有console.log生成;(所有的Job都会在agent上执行,Artifacts存在的意义就是将文件上传到server端,再供使用)
- 可以创建获取其他Pipline的Task;
-
Environment Variables(环境变量)
- Within environments, within pipelines, within stages and within jobs
- 等级依次增高,高等级的变量将覆盖低等级变量
-
Resource
- 可以将Agent进行别名命名,以在配置Job的执行位置时使用;
- 可以将多个Agent命为相同名称;
Environments
暂时不了解其特别用途,仅仅知道其为分组使用;