文档章节

快速创建Jenkins任务 -- Jenkins-job-builder

Firxiao
 Firxiao
发布于 2017/08/21 21:06
字数 158
阅读 84
收藏 0

前言

近日需要修改些Jenkins任务,无奈之前全是手动创建的,一个一个修改起来甚是麻烦。于是想到使用cli的方式去做,但是又发现原生的方式不是很友好。于是进行了一番搜索,找到了jenkins-job-builder,并且由openstack社区维护。看了下介绍感觉蛮不错: 支持yaml格式存储Jenkins 任务模板,可以做版本控制,支持使用模板创建相似的任务.

安装

pip install --user jenkins-job-builder

配置

jenkins-job-builder_默认会从以下位置找配置文件~/.config/jenkins_jobs/jenkins_jobs.ini_, <script directory>/jenkins_jobs.ini/etc/jenkins_jobs/jenkins_jobs.ini. 当然也支持自定义位置,使用_--conf jenkins_jobs.ini_参数即可

这里将创建默认配置文件. 记得把Jenkins信息修改为你自己的.其他默认配置即可.

mkdir ~/.config/jenkins_jobs/
cat  > ~/.config/jenkins_jobs/jenkins_jobs.ini  << EOF
[job_builder]
ignore_cache=True
keep_descriptions=False
include_path=.:scripts:~/git/
recursive=False
exclude=.*:manual:./development
allow_duplicates=False

[jenkins]
user=admin
password=password
url=http://localhost:8080
query_plugins_info=False
##### This is deprecated, use job_builder section instead
#ignore_cache=True
EOF

使用示例

生成任务配置文件

创建一个example.yml文件复制如下内容:

- job:
    name: example
    project-type: freestyle
    defaults: global
    description: 'Do not edit this job through the web!'
    disabled: false
    display-name: 'example'
    concurrent: true
    workspace: /srv/build-area/example
    quiet-period: 5
    block-downstream: false
    block-upstream: false
    retry-count: 3
    node: NodeLabel1 || NodeLabel2
    logrotate:
      daysToKeep: 3
      numToKeep: 20
      artifactDaysToKeep: -1
      artifactNumToKeep: -1

检查配置文件

这里的检查是通过生成Jenkins任务xml文件,你可以通过与现有Jenkins任务对比

jenkins-jobs test example.yml

更新任务

jenkins-jobs update example.yml

删除任务

jenkins-jobs delete example

最后

总的来讲,_Jenkins-job-builder_是一个很不错的工具,符合基础设施即代码(infrastructure as code)的思想,使用易读的yaml文件即可生成jenkins任务,另外也支持JSON,如果你想更好的管理Jenkins任务, 那么你值得尝试。

参考: https://docs.openstack.org/infra/jenkins-job-builder/quick-start.html

© 著作权归作者所有

共有 人打赏支持
Firxiao
粉丝 20
博文 94
码字总数 35014
作品 0
浦东
运维
利用Jenkins完成Pre-MR的代码回归

前言 Gitlab作为一个功能强大的代码管理系统被广泛应用, 它的Merge Request(MR)机制已经在实践中被证明非常适合多人协同开发,一个MR里的代码可以被多人同时review, 并在确认有效后由Mas...

iq75
07/10
0
0
Jenkins & Docker 持续集成实践

前言 持续集成(CI/CD)是一种软件开发实践。用于帮助团队成员频繁、快速的集成,测试他们的工作成果,以尽快发现集成错误。 更频繁、更早的集成意味着更早的发现问题。通过持续集成,及时发现...

English0523
2017/12/25
0
0
Jenkins & Docker 持续集成实践

Jenkins & Docker 持续集成实践 运维生存时间 - 运维生存时间2017-12-109 阅读 jenkinsdockerLinux 发表评论 A+ 所属分类: Linux 前言 持续集成(CI/CD)是一种软件开发实践。用于帮助团队成员...

运维生存时间 - 运维生存时间
2017/12/10
0
0
自动化测试基本流程

综述: 依托Jenkins自动化平台管理,首先在用户提交代码(主要是master或者保护分支上的提交)时触发Jenkins构建,在Jenkins中使用SCM工具得到最新代码,然后build,使用SonarQube进行分析。...

紅紅火火
2016/03/23
244
0
Jenkins与Docker相关的Plugin使用

在Jenkins Plugin页面搜索与Docker相关的插件,有如下几个: CloudBees Docker Build and Publish plugin — This plugin provides the ability to build projects with a Dockerfile, and ......

donhui
2015/07/21
0
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

咕泡-Factory设计模式笔记

个人感悟: 设计模式都是处理复杂问题的,如果问题本身很简单,使用设计模式反而累赘,增加了开发的复杂性 遇到最简单的情况,直接 new 如果创建对象的过程简单,但是需要匹配不同情况,返回...

职业搬砖20年
24分钟前
0
0
Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏...

Funcy1122
32分钟前
0
0
Ansible随机数

想为你的Ansible剧本取一个随机数?还想在接下来的运行中保持系统的等幂性?这里有一个答案。 假如,你要为一大批服务器设置cron任务,却不想让它们同时启动,你可以这样设置分钟数: minute...

大别阿郎
42分钟前
0
0
SpringCloud之服务注册中心Eureka

本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.SR1 服务注册中心 Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。 ...

熊小飞呀
今天
15
1
“Comparison method violates ...”异常的再现方法

前提条件:JDK8 代码: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public stat......

hunterli
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部