美文网首页
Go CD 入门

Go CD 入门

作者: 前端进城打工仔 | 来源:发表于2017-01-24 17:18 被阅读0次

    Go CD 是属于在持续集成,持续交付过程中使用的自动化构建工具,可以执行编译,自动化测试,自动部署等等。
    在此之前,已经使用过Jenkins工具了,Go CD 的功能和Jenkins差不多,但又有其特点。

    Go CD中的某些概念

    Task

    task是要执行的一个build任务,一般是一个命令行指令

    Job

    • 一个Job由多个task组成,每个task按排列顺序执行。
    • 当一个task执行失败,那么这个job就会被认为失败,并且没有其他特殊的设置的话,这个失败的task之后的其他task都不会被执行。
    • 在一个job中的task作为独立的程序运行的,某一个task改变的环境变量不会影响后续的tasks,但是这个task对文件系统的更改在后续的tasks中可见。

    Stage

    • 一个Stage由多个job组成,job之间可以相互独立运行,也就是说在Stage之中的job可以并行。
    • 一个job失败了,那么该stage也被认为是失败的,由于stage的job相互独立,所以其他的job还是会继续执行,不受影响。

    Pipeline

    一个Pipeline由多个stage组成,stage按顺序执行,若是一个stage执行失败了,那么该pipeline也被认为是失败的,并且之后的stage不会继续执行。

    Materials

    • Materials是pipeline跑的起因,一般是源代码仓库,例如git、SVN等。
    • 当代码更新的时候,Go Server会持续的获取代码仓库的代码。
    • 在某一个pipeline1中的stage也可以作为另一个pipeline2的Materials,如此在stage执行完毕后会触发pipeline2运行。

    Artifacts

    Artifacts一般是文件或者文件夹,当job执行完毕后会发布Artifacts,供给用户、后续执行的stage或pipeline使用。
    

    Agent

    Go Agents是tasks, jobs, stages 和 pipeline 运行的地方。
    

    Resources

    Resources指的是Agent中有的资源,它帮助jobs寻找适合的Agent,当job需要的资源在某agent中都存在的时候,才会使用该agent。
    

    Environments

    • Environments是用来分组的,把有联系agent 和 pipelines分成一组。
    • 一个pipeline最多只能在一个environment中。
    • 一个agent可以在多个environment中,或不属于任何一个environment。
    • 一个agent只能获取到属于和该agent有联系的environment中的pipeline中的jobs;无法获取其他jobs,哪怕这些jobs不属于任何environment。

    Environment Variables

    • Environment Variables和Environments没有关系,它是用户在配置中自己定义的变量。这些环境变量与Task在运行时可用的其他环境变量一样。
    • Environment Variables可以在 Environment ,pipelines,stages 和 jobs 中定义。并且下一层的Environment Variables可以重写上一层的,例如jobs重写Environment的变量。

    相关文章

      网友评论

          本文标题:Go CD 入门

          本文链接:https://www.haomeiwen.com/subject/fdrabttx.html