【发布时间】:2014-05-10 06:36:24
【问题描述】:
我想在 Jenkins 中设置一些自动化功能,定期轮询我们 github 组织中的存储库列表,并根据作业模板自动为每个 Git 存储库设置 jenkins 作业。
实现这一目标的可能解决方案是什么?谢谢!
【问题讨论】:
我想在 Jenkins 中设置一些自动化功能,定期轮询我们 github 组织中的存储库列表,并根据作业模板自动为每个 Git 存储库设置 jenkins 作业。
实现这一目标的可能解决方案是什么?谢谢!
【问题讨论】:
这是作业中创建和修改其他作业的构建步骤
来自维基:
job-dsl-plugin 允许使用编程方式创建项目 DSL。将作业创建推送到脚本中允许您自动化和 标准化你的 Jenkins 安装,不像任何可能 之前。
一个例子是:
def organization = 'jenkinsci'
repoApi = new URL("https://api.github.com/orgs/${organization}/repos")
repos = new groovy.json.JsonSlurper().parse(repoApi.newReader())
repos.each {
def repoName = it.name
job {
name "${organization}-${repoName}".replaceAll('/','-')
scm {
git("git://github.com/${organization}/${repoName}.git", "master")
}
}
}
【讨论】:
Jenkins 流水线是当今的必经之路。
它使用Jenkinsfile 定义管道,您可以将其签入您的存储库。
最好的做法是这样的文件
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building..'
}
}
stage('Test') {
steps {
echo 'Testing..'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
}
}
}
}
【讨论】: