文档章节

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

Firxiao
 Firxiao
发布于 2017/08/21 21:06
字数 158
阅读 135
收藏 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
粉丝 21
博文 99
码字总数 36442
作品 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与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
自动化测试基本流程

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

紅紅火火
2016/03/23
244
0

没有更多内容

加载失败,请刷新页面

加载更多

Java的快速失败和安全失败

一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在...

狼王黄师傅
15分钟前
5
0
Echarts X轴Y轴配置参数详情

mytextStyle={ color:"#333", //文字颜色 fontStyle:"normal", //italic斜体 oblique倾斜 fontWeight:"normal", //文字粗细bold bolder lighter 100 | 200 | 300 | 400... fontFamily:"sans......

wqzbxh
16分钟前
1
0
解决kettle使用JDBC读取Oracle速度慢的问题

jdbc连接添加如下信息: defaultRowPrefetch=20000

了凡川
21分钟前
1
0
Linux学习-1015

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 相关测验题目:题目:http://ask.apelearn.com/question/5437 扩展 扩展 1. source exec 区别...

wxy丶
21分钟前
2
0
Spring Boot核心注解讲解

Spring Boot核心注解讲解 Spring Boot最大的特点是无需XML配置文件,能自动扫描包路径装载并注入对象,并能做到根据classpath下的jar包自动配置。 所以Spring Boot最核心的3个注解就是: 1,...

DemonsI
28分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部