Git 每个分支用户轴

Git 每个分支用户轴,git,jenkins,Git,Jenkins,假设我有一个在分支master上进行测试的用户轴: # Build echo "This is the master branch" 测试=测试1、测试2、测试3 现在,我创建了另一个分支功能,并添加了一个测试:test_4。 当然,我想在服务器上测试它。我不想直接修改jenkins上的项目 因为如果我有更多的分支,它就会变得容易出错和混乱。我在找类似的东西 配置文件 使现代化 目前我正在使用jenkins插件。该插件允许我设置“用户定义轴”测试,如:test_1,test_2,t

假设我有一个在分支
master
上进行测试的用户轴:

# Build
    echo "This is the master branch"
  • 测试=测试1、测试2、测试3
现在,我创建了另一个分支
功能
,并添加了一个测试:
test_4
。 当然,我想在服务器上测试它。我不想直接修改jenkins上的项目 因为如果我有更多的分支,它就会变得容易出错和混乱。我在找类似的东西 配置文件

使现代化 目前我正在使用jenkins插件。该插件允许我设置“用户定义轴”测试,如:
test_1
test_2
test_3
,但用于整个项目(即Jenkins-> MyProject->Configure)。现在,我只想为一个
特性
分支修改该轴(我想为axis添加一个值:
test_4
)。我正在寻找允许我进行每个分支配置的插件(如我已经提到的)。

您可以使用该插件重建项目。现在就打开这个插件

您需要的是一个带有(groovy)作业dsl步骤的单独作业来重建矩阵。如果使用模板作业,则所有现有配置都可以驻留在那里。就个人而言,我喜欢将其全部保留在作业dsl步骤中,因为逻辑可以在版本控制下进行

def branches = ['a','b','c']

job(type: Matrix) {
    name ('existingJob')
    using ('myTemplateJob')
    axes {
        label('label', branches)

    }
}
我将使用加载git分支


编辑 我将这个脚本放在一起,以演示在作业dsl repo中哪个构建了(3)个分支的轴

def gitURL = new URL("https://api.github.com/repos/jenkinsci/job-dsl-plugin/branches")
def branches = new groovy.json.JsonSlurper().parse(gitURL.newReader())
def names = []

branches.each{ names << it.name }

job(type: Matrix) {
  name 'git-matrix'
  description 'Matrix Job of my git repo'
  axes{
    text('branch', names )
  }
}
def gitURL=新URL(“https://api.github.com/repos/jenkinsci/job-dsl-plugin/branches")
def branchs=new groovy.json.JsonSlurper().parse(gitURL.newReader())
def名称=[]
分支。每个{names都可以使用该插件重建项目。该插件现在可用

你需要的是一个单独的作业和一个(groovy)作业dsl步骤来重建你的矩阵。如果你使用一个模板作业,那么所有现有的配置都可以驻留在那里。就个人而言,我喜欢将其全部保留在作业dsl步骤中,因为逻辑可以在版本控制下

def branches = ['a','b','c']

job(type: Matrix) {
    name ('existingJob')
    using ('myTemplateJob')
    axes {
        label('label', branches)

    }
}
我将使用加载git分支


编辑 我将这个脚本放在一起,以演示在作业dsl repo中哪个构建了(3)个分支的轴

def gitURL = new URL("https://api.github.com/repos/jenkinsci/job-dsl-plugin/branches")
def branches = new groovy.json.JsonSlurper().parse(gitURL.newReader())
def names = []

branches.each{ names << it.name }

job(type: Matrix) {
  name 'git-matrix'
  description 'Matrix Job of my git repo'
  axes{
    text('branch', names )
  }
}
def gitURL=新URL(“https://api.github.com/repos/jenkinsci/job-dsl-plugin/branches")
def branchs=new groovy.json.JsonSlurper().parse(gitURL.newReader())
def名称=[]

分支。每个{names我找到的最接近的解决方案是

例如,分支
master

# Build
    echo "This is the master branch"
如果创建分支
功能-1
,则可以更改消息:

# Build
    echo "this is a feature-1 branch"
但不幸的是,目前还没有用户定义的自定义变量

使现代化 此功能非常有用。
很好!

我找到的最接近的解决方案是

例如,分支
master

# Build
    echo "This is the master branch"
如果创建分支
功能-1
,则可以更改消息:

# Build
    echo "this is a feature-1 branch"
但不幸的是,目前还没有用户定义的自定义变量

使现代化 此功能非常有用。
很好!

这个插件可以让你添加一个
.jenkins.yml
文件,就像你和jenkins一起使用一样。

这个插件可以让你添加一个
.jenkins.yml
文件,就像你和jenkins一起使用一样。

对不起,我错过了jenkins部分。对不起,我错过了jenkins部分。谢谢你分享这个,这是一个很好的插件,+1。但是我认为这是一个爱我知道travis ci在幕后使用jenkins,所以我认为我根本找不到具有“源代码配置”功能的插件(这是一种明显的解决方案)。但看起来travis不仅仅是一个“jenkins包装器”))目前我发现的最接近的东西是一个识字插件,请看我的答案。看起来这个功能还没有在识字插件中实现,所以我会接受你的回答。谢谢你分享这个,它是一个很好的插件,+1。但是我认为对于这样一个琐碎的任务来说,这是一个过火的任务(又一个项目,现在我需要学习一门新语言?)我知道travis ci在幕后使用jenkins,所以我想我根本找不到具有“源代码配置”功能的插件(这是一种显而易见的解决方案)。但看起来travis不仅仅是一个“jenkins包装器”))我现在发现的最接近的东西是一个识字插件,请看我的答案。看起来这个功能还没有在识字插件中实现,所以我会接受你的答案