文档章节

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

Firxiao
 Firxiao
发布于 2017/08/21 21:06
字数 158
阅读 189
收藏 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
码字总数 36492
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

day179-2018-12-16-英语流利阅读-待学习

《海王》:上映 7 天,票房突破 9 亿,DC 要翻身? Daniel 2018-12-16 1.今日导读 这部电影堪称“有《阿凡达》般的视觉奇观,《指环王》般的史诗质感,《夺宝奇兵》般的寻宝历险,《狮子王》...

飞鱼说编程
16分钟前
5
0
window下安装maven

1.下载软件包: 2.解压到当前的安装路径: D:\Maven3.5.3 3.添加环境变量: 新建一个名为:MAVEN_HOME 填写解压路径:D:\Maven3.5.3 打开path,添加:%MAVEN_HOME%\bin 确定即可。 4.验证环境...

狼王黄师傅
30分钟前
5
0
聊聊flink的FsCheckpointStorage

序 本文主要研究一下flink的FsCheckpointStorage CheckpointStorage flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/CheckpointStorage.java /** * CheckpointStor......

go4it
52分钟前
3
0
makefile 常用函数

Linux 环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是 Unix程序员。今天我们来学习下makefile的常用函数。 《GNU make》h...

科陆李明
今天
21
0
Android 报错 Could not find com.android.tools.build:aapt2:3.2.1-4818971.

报错信息: Could not find com.android.tools.build:aapt2:3.2.1-4818971.Searched in the following locations: file:/C:/Users/96110/AppData/Local/Android/Sdk/extras/m2reposito......

lanyu96
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部