如何在python中将jenkins作业配置config.xml转换为YAML格式以使用jenkins-job-builder?

2024-03-06

詹金斯工作建设者 http://ci.openstack.org/jenkins-job-builder/是一个很好的工具,可以帮助我维持工作YAML文件。参见示例配置 http://ci.openstack.org/jenkins-job-builder/configuration.html章节。

现在我有很多旧的詹金斯工作,如果有一个 python 脚本就好了xml2yaml转换现有的詹金斯工作config.xml to YAML文件格式。

您对 python 的快速解决方案有什么建议吗?

我不需要它用于jenkins-job-builder直接转换成YAML即可参考。

对于转换,某些部分可以被忽略,例如命名空间。

config.xml段看起来像:

<project>
  <logRotator class="hudson.tasks.LogRotator">
    <daysToKeep>-1</daysToKeep>
    <numToKeep>20</numToKeep>
    <artifactDaysToKeep>-1</artifactDaysToKeep>
    <artifactNumToKeep>-1</artifactNumToKeep>
  </logRotator>
  ...
</project>

The yaml输出可以是:

- project:
   logrotate:
     daysToKeep: -1
     numToKeep: 20
     artifactDaysToKeep: -1
     artifactNumToKeep: -1

如果您不熟悉config.xml在詹金斯,你可以检查infra_backend-merge-all-repo 作业 https://ci.jenkins-ci.org/view/Infrastructure/job/infra_backend-merge-all-repo/config.xml in https://ci.jenkins-ci.org https://ci.jenkins-ci.org


我正在编写一个程序来执行从 XML 到 YAML 的转换。它可以动态查询 Jenkins 服务器并将所有作业转换为 YAML。

https://github.com/ktdreyer/jenkins-job-wrecker https://github.com/ktdreyer/jenkins-job-wrecker

现在它适用于非常简单的工作。我采取了一种安全/悲观的方法,如果程序遇到它还无法翻译的 XML,它就会退出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在python中将jenkins作业配置config.xml转换为YAML格式以使用jenkins-job-builder? 的相关文章

随机推荐