gpt4 book ai didi

GitHub 管道/CI 生成文件并将它们推送回存储库

转载 作者:行者123 更新时间:2023-12-04 15:30:30 25 4
gpt4 key购买 nike

我在 GitHub 上维护一个公共(public)存储库,其中仅对单个 YAML 文件进行更改。我正在寻找一种解决方案来在每次推送时处理该文件并基于它生成文件。本质上,管道或 CI 应该解析文件并创建许多不同的 Markdown 文件。然后应将这些文件(或更具体地说,对这些文件的更改)推回存储库。

要求:

  • 对 YAML 文件的手动更改和对 markdown 文件的自动更改都应该推送到 master 分支。
  • 应保留版本历史记录(例如,强制推送可能不起作用)。
  • 生成任意数量的文件。

  • GitHub Pages 的 Travis 提供商和 GitHub Releases .但是两者都有限制,使它们不适合我的要求。

    我可以使用什么工具/CI/管道在 GitHub 上实现这一目标?我更喜欢自托管 CI 的服务。

    最佳答案

    假设您已经有了解析 YAML 文件和生成 Markdown 文件的程序/脚本,我可以从 为您提供一些关于如何执行此操作的见解。 Jenkins CI .虽然我从运行自己的实例中汲取经验,但也有一些托管选项,例如 CloudBees你可以探索。

  • 创建一个新的 Jenkins Freestyle 项目。
  • 在 Source Code Management 部分下,配置您的 GitHub 项目坐标。
  • 在构建触发器部分下,激活“将更改推送到 GitHub 时构建”选项。这将在您将 YAML 文件的新版本推送到存储库时启动 CI 作业。
  • 在 build 部分下,添加一个 Execute shell build 步骤。
  • 在 shell 步骤中,启动处理 YAML 文件/生成 .md 文件的程序或脚本。通过添加 git add . 结束脚本, git commit -m "message" , git pullgit push命令(假设 git 在路径中)。
  • 启用新作业以使其在 Jenkins 中处于事件状态。
  • 关于GitHub 管道/CI 生成文件并将它们推送回存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47618022/

    25 4 0