封装GitHub workflow,减少新项目的启动成本

2022-06-12  本文已影响0人  周群力

新项目想搭建一个强大的 github workflow 还是比较麻烦的,需要自己攒各种组件。能否封装 GitHub workflow、封装最佳实践,减少新项目的启动成本?

1. Reusable workflow

一类特殊的workflow,可以让别的workflow像函数调用一样复用,如下图

image.png
https://docs.github.com/cn/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
https://www.codewrecks.com/post/github/github-actions-templates/

1.1. 社区可供复用的 reusable workflow

生态比较小。感觉可以启动一个 awesome 项目了
https://github.com/VeryGoodOpenSource/very_good_workflows
Dart/flutter 的

https://github.com/chainguard-dev/actions
https://github.com/OpenAstronomy/github-actions-workflows

2. starter workflow: 给新项目用的 workflow 模板

新项目在 action 里可以点一点、选择 starter workflow template


image.png

就会生成一个模板,供你修改、commit:


image.png

文档见
https://docs.github.com/en/actions/using-workflows/creating-starter-workflows-for-your-organization
https://docs.github.com/en/actions/using-workflows/using-starter-workflows

2.1. 如何开发自己的 workflow 模板?

A. 自己在组织的 .github仓库里创建

没法给别的组织用

B. github 预置了一些,可供选择

好像没法ziyou的把自己做的上架给别人用。但是你确实能看到一些 template 是由第三方团体做的,比如GitHub Actions for Azure:
https://github.com/Azure/actions-workflow-samples
https://github.com/Azure/actions

试用了几个预置模板,体验不好。模板里会读一些配置文件,你没有这些配置文件就报错。也就是说,不会生成默认配置文件。这产品做的,最后一公里掉链子

总的来说,感觉产品设计的格局有点小

3. cli 工具,生成 workflow

https://github.com/Azure/draft
不过这个只管生成用于部署到aks的workflow

https://github.com/fregante/ghat
这个是从指定仓库“生成”workflow(其实就是复制过来),但看描述说,这个工具方便做后续更新

上一篇 下一篇

猜你喜欢

热点阅读