gitlab-ci 结合k8s

https://www.qikqiak.com/post/gitlab-ci-k8s-cluster-feature/



https://github.com/galexrt/presentation-gitlab-k8s/blob/master/.gitlab-ci.yml



https://github.com/galexrt/presentation-gitlab-k8s



https://github.com/Fennay/gitlab-ci-cn
GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。



开始构建之前YAML文件定义了一系列带有约束说明的任务。这些任务都是以任务名开始并且至少要包含script部分

script可以直接执行系统命令(例如:./configure;make;make install)或者是直接执行脚本(test.sh)。



任务是由Runners接管并且由服务器中runner执行。更重要的是,每一个任务的执行过程都是独立运行的。



image和services
这两个关键字允许使用一个自定义的Docker镜像和一系列的服务,并且可以用于整个job周期。详细配置文档请查看a separate document。



stages
stages用来定义可以被job调用的stages。stages的规范允许有灵活的多级pipelines。



stages中的元素顺序决定了对应job的执行顺序:




  1. 相同stage的job可以平行执行。

  2. 下一个stage的job会在前一个stage的job成功后开始执行。
    接下仔细看看这个例子,它包含了3个stage:



stages:



  • build

  • test

  • deploy
    首先,所有build的jobs都是并行执行的。
    所有build的jobs执行成功后,test的jobs才会开始并行执行。
    所有test的jobs执行成功,deploy的jobs才会开始并行执行。
    所有的deploy的jobs执行成功,commit才会标记为success
    任何一个前置的jobs失败了,commit会标记为failed并且下一个stages的jobs都不会执行。



https://segmentfault.com/a/1190000010442764
https://help.aliyun.com/document_detail/106968.html



Category k8s