meierw.jenkins_job_dsl_exec

jenkins_job_dsl_exec

构建状态

一个 Ansible 角色,用于创建、执行并删除一个包含 Job DSL 脚本的临时 Jenkins 任务。

需求

  • 需要一个已安装 Job DSL 插件的 Jenkins 服务。
  • 能够对该 Jenkins 服务执行 jenkins_script

角色变量

jenkins_job_dsl_url: http://localhost:8080
jenkins_job_dsl_user: admin
jenkins_job_dsl_password: admin

用于身份验证的 Jenkins 的 URL、用户名和密码。将用于执行 jenkins_script


jenkins_job_dsl_temp_job_name: C4lpe7GMX8S0pdZV6RWbKAkBfKWCPAOgAL9MGL03

临时任务的名称,将用于 DSL 脚本的执行。应该保持为复杂的字符字符串,以避免与实际任务名称冲突。


jenkins_job_dsl_content: |
    job('dsl-example-job') {
        steps {
            shell('echo Hello world!')
        }
    }

将要运行的 DSL 脚本。可以像示例中那样直接指定,也可以使用类似 jenkins_job_dsl_content: "{{ lookup('file', 'files/myDslScript.groovy') }}" 的方式,使你的剧本更整洁。


jenkins_job_dsl_temp_job_run: true

是否运行新创建的临时任务。如果你对任务的运行时间或方式有其他计划,可以将此设置为禁用。


jenkins_job_dsl_temp_job_delete: true

运行后是否删除临时任务。如果你还没有获得想要的结果并希望查看 Jenkins 中的构建日志,可以将此设置为禁用。如果 jenkins_job_dsl_temp_job_run 为 false,则此项不执行任何操作。


jenkins_job_dsl_temp_job_running_checks: 10

在删除任务之前,角色应该检查任务是否停止运行的次数。角色每秒执行一次检查,因此此数量也是检查超时的限制,单位为秒。如果 jenkins_job_dsl_temp_job_delete 为 false,则此项不执行任何操作。

示例剧本

- hosts: servers
  roles:
    - { role: meierw.jenkins_job_dsl_exec }

许可证

MIT

作者信息

关于项目

Creates, executes and then deletes a temporary Jenkins job containing a Job DSL script.

安装
ansible-galaxy install meierw.jenkins_job_dsl_exec
许可证
mit
下载
149
拥有者