这篇文章上次修改于 2377 天前,可能其部分内容已经发生变化,如有疑问可询问作者。 这篇文档 描述了 GoCD (一款持续交付工具)系统中的基本概念,通过这些概念我们可以快速感受这个系统的一些设计理念。 - Task:一般来说对应一条命令。 - Job: 多个 Tasks 组成一个 Job。Tasks 按定义顺序逐个运行,除非某个 Task 运行失败整个 Job 算作失败。需要注意,每个 Task 有自己独立的运行环境,是个独立程序,这样可以保证 Tasks 之间互相不会影响。 - Stage:多个 Jobs 组成一个 Stage。Jobs 并发运行,当某个 Job 运行失败其它 Jobs 仍然运行但整个 Stage 算作失败。 - Pipeline:多个 Stage 组成一个 Pipeline。Stages 按照定义顺序运行,当某个 Stage 运行失败其它 Stages 不会运行,整个 Pipeline 算作失败。 - Material:能触发 Pipeline 运行的东西,可以是 Git,SVN,时间,或者混合。Pipeline 中的 Stage 也可以作为别的 Pipeline 的 material。 - Fan-out, Fan-in: 前者一个 Stage 触发多条 Pipeline,后者多个 Stage 执行完成后触发一条 Pipeline。 - Artifacts: Job 可以发布构件,可以是文件或者目录,其他用户或者下游 Stage / Pipeline 可以使用。 - Agent:运行 Task 的物理机。Agents 会从 GoCD Server 收到指派给他们的任务,然后运行,再将结果返回给 Server。 - Environment:用来区隔 Pipeline 和 Agent 的东西。具体来说配置的时候将这些 Agent 和 Pipeline 关联到某个特定的环境。 - Environment Variables:和 Environment 半分钱关系没有,单纯用来存储配置的。可以在环境,可以在 Pipeline,Stage,也可以在 Job 中。
没有评论