我想在Jenkins中设置一些自动化,定期轮询我们的github组织中的repos列表,并根据作业模板自动为每个Git repos设置一个jenkins作业。
实现这一目标的可能解决方案是什么?谢谢!
答案 0 :(得分:6)
这是创建和修改其他作业的作业中的构建步骤
来自Wiki:
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")
}
}
}
答案 1 :(得分:0)
它使用Jenkinsfile
定义管道,您可以在其中检查您的回购。
哪种最佳做法是像这样的文件
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building..'
}
}
stage('Test') {
steps {
echo 'Testing..'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
}
}
}
}
如上所述in the documentation。