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



我在GitHub上维护一个公共存储库,其中仅对一个YAML文件进行更改。我正在寻找一个解决该文件的解决方案,以根据其按下每个按钮和生成文件。本质上,管道或CI应解析文件并创建许多不同的标记文件。这些文件(或更具体地说,是对这些文件的更改),然后应将其推回存储库。

要求:

  • 手动更改YAML文件,并且应将Markdown文件的自动更改都推到Master Branch。
  • 应该保留版本的历史记录(例如,强制推动可能行不通)。
  • 生成了任意数量的文件。

有travis提供商用于GitHub页面和GitHub版本。但是两者都有使它们不适合我的要求的局限性。

使用什么工具/CI/管道可以在GitHub上实现?我希望与自托CI相比。

假设您已经有了可以解析YAML文件并生成Markdown Files的程序/脚本,我可以为您提供一些有关如何从 Jenkins CI中做到这一点的见解。当我从运行自己的实例中汲取经验时,还有一些托管选项,例如CloudBees,您可以探索。

  1. 创建一个新的詹金斯自由泳项目。
  2. 在"源代码管理"部分下,配置您的github项目坐标。
  3. 在构建触发部分下,将更改推向github '选项时,激活'构建。这将在您将新版本的yaml文件推入存储库中启动CI作业。
  4. 在"构建"部分下,添加执行外壳构建步骤。
  5. 在Shell步骤中,启动处理YAML文件/生成.md文件的程序或脚本。通过添加git add .git commit -m "message"git pullgit push命令来结束脚本(假设Git在路径中)。
  6. 使新工作使其在詹金斯(Jenkins)中活跃。

您现在可以使用存储库的免费github操作选项来执行此操作。您需要将此步骤放入您的YAML文件中。

    - name: Commit back to GitHub
      run: |
        git config --global user.name "github-actiuons[bot]"
        git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
        git add -A
        git commit -m "Updating some file"
        git push

市场上有一些项目,但它们对我不起作用。

机器人的电子邮件基于此线程:

https://github.community/t/github-actions-bot-email-address/17204

  • 更新提交消息。
  • 如果您决定在文件夹中推出特定文件,请注意文件夹路径。

最新更新