GitHub管道/ CI生成文件并将它们推送回存储库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitHub管道/ CI生成文件并将它们推送回存储库相关的知识,希望对你有一定的参考价值。
我在GitHub上维护一个公共存储库,只对一个YAML文件进行更改。我正在寻找一种解决方案,在每次推送时处理该文件并根据它生成文件。本质上,管道或CI应该解析文件并创建许多不同的markdown文件。然后应将这些文件(或更具体地说,对这些文件的更改)推回到存储库。
要求:
- 手动更改YAML文件和自动更改markdown文件都应该推送到主分支。
- 应保留版本历史记录(例如,强制推送可能不起作用)。
- 生成了任意数量的文件。
有针对GitHub Pages和GitHub Releases的Travis供应商。但两者都有局限性,使它们不适合我的要求。
使用什么工具/ CI /管道可以在GitHub上实现?我更喜欢服务而非自托管CI。
答案
假设您已经有程序/脚本来解析YAML文件并生成Markdown文件,我可以通过Jenkins CI为您提供一些有关如何执行此操作的见解。虽然我从运行自己的实例中汲取了我的经验,但也有托管选项,例如CloudBees,您可以探索。
- 创建一个新的Jenkins Freestyle项目。
- 在“源代码管理”部分下,配置GitHub项目坐标。
- 在“构建触发器”部分下,激活“将更改推送到GitHub时构建”选项。这会在您将新版本的YAML文件推送到存储库时启动CI作业。
- 在构建部分下,添加一个Execute shell构建步骤。
- 在shell步骤中,启动处理YAML文件的程序或脚本/生成.md文件。通过添加
git add .
,git commit -m "message"
,git pull
和git push
命令结束脚本(假设git在路径中)。 - 启用新作业以使其在Jenkins中处于活动状态。
以上是关于GitHub管道/ CI生成文件并将它们推送回存储库的主要内容,如果未能解决你的问题,请参考以下文章
来自私人 github 存储库的 Pip install wheel