以上我们已经可以实现简单的针对Github Flow的流水线,Github Flow分支策略简单,只需要关注一条分支即可实现所有功能,也是我们文档的切入点,但是在实际生产中,很多场景并不适合Github Flow,比如多人开发,需要长期维护,人员变动频繁等情况,这时候代码质量就存在很多问题,我们还是需要使用更为复杂的策略去实现流水线,这里我们使用Gitlab Flow


需要几条流水线?

我们先列出所有的Task:

Task

3与4的不同是执行的shell不同,3是根据传入的环境变量处理后调用接口进行Git修改,而4是设定好,只会去更新开发与测试的信息。

本身无需这样的设置,因为对于Test环境来说本身需要提测,但是因为公司业务不同,有的公司是需要做Test环境自动CD,如果你们无需这么做,可以设定不同的Pipeline

因为Tekton的数据来自于Webhook,对分支很敏感,所以我们需要针对分支做不同的Pipeline

Branch and Pipeline

可以看到我们需要3条不同的Pipeline,对应也需要3条TriggerTemplate,其他的值都可以复用。


YAML

与上面类似,我们需要配置好多YAML,这次将按分类去列出。

0. SA & RBAC

将所有需要用到的认证与权限信息统一管理。