通过API创建运行Ansible脚本的Jenkins作业

时间:2018-12-13 13:23:09

标签: python jenkins ansible

我有一个创建jenkins作业的python脚本,如下所示

def create_jenkins_job(self):
    jenk = jenkins.Jenkins(jenkins_url, username=jenkins_user, password=jenkins_token)

    jobs = jenk.create_job('test2', jenkins.EMPTY_CONFIG_XML)
    return True

这成功地按预期创建了一个空作业。我正在尝试让此作业运行Ansible剧本,该剧本在本地位于同一目录中。 ansible插件已经安装在jenkins实例上。是否可以使用ansible参数创建作业并将剧本传递给它?

1 个答案:

答案 0 :(得分:0)

据我了解,您想做两件事:

  1. 创建一个具有ansible插件构建步骤的工作。
  2. 运行作业(传递(上载)本地剧本并使用ansible插件运行作业)

如果是这样,那么这就是我的答案: 1:

我知道创建示例作业并复制它不是一个好的解决方案,但它可以工作。 但是jobs = jenk.create_job('test2', jenkins.EMPTY_CONFIG_XML)将创建一个没有任何预配置的空作业。因此,我们需要一些配置(任何现有作业的 config.xml )以使用python-jenkins api进行预配置。