Jenkins 在詹金斯/哈德逊重新命名作业
我试着给哈德逊/詹金斯的工作改名。然而,它未能重命名Jenkins 在詹金斯/哈德逊重新命名作业,jenkins,hudson,Jenkins,Hudson,我试着给哈德逊/詹金斯的工作改名。然而,它未能重命名 有什么方法可以重命名作业吗?您可以通过jenkins UI通过以下步骤重命名所选作业: job>configure>Advanced Project Options>Display Name 另一种方法是重命名Jenkins/hudson服务器上的目录,然后重新启动Jenkins,具体取决于我通常选择的要求: 作业>配置 -修改项目名称属性 -高级项目选项,点击高级…,设置显示名称的值 然后保存作业。无需在文件系统级别重命
有什么方法可以重命名作业吗?您可以通过jenkins UI通过以下步骤重命名所选作业:
job>configure>Advanced Project Options>Display Name
另一种方法是重命名
Jenkins/hudson
服务器上的目录,然后重新启动Jenkins
,具体取决于我通常选择的要求:
作业>配置
-修改项目名称属性
-高级项目选项,点击高级…,设置显示名称的值
然后保存作业。无需在文件系统级别重命名。重命名作业的常规方法:
转到配置屏幕并编辑顶部的项目名称字段。然后单击保存,然后单击是进行确认。(请勿点击保存旁边的应用按钮,将显示一条错误消息:)
更改显示名称不会重命名作业,它只会更改作业的显示方式。例如,通过搜索框仍然可以在其原始名称下找到它,并且该名称也会显示在url中
在文件系统级别重命名目录应该真的没有必要。为了完整起见,想提到使用Groovy更新Hudson作业名:
如果您需要同时更新几十个作业,这将非常有用
注意:以下代码无效:
job_to_update.name = new_job_name;
job_to_update.save();
将作业名称设置为“新建”并保存配置不会重命名当前作业,而是使用新名称创建作业配置的副本。此外,在这种情况下,可能会有断开的引用,因此Hudson需要重新加载配置。我无法使Marc的脚本正常工作,因此请根据禁用所有作业脚本编写一个脚本,如下所示。这是将任何带有“Findur.OpenComponent”的项目重命名为“Findur.OpenComponents”
使用函数在[job generator](job generator插件)(工厂)中使用Groovy脚本重命名多个作业
下面的示例将作业ci.*.\u2
重命名为ci.*
(它删除了后面的\u2
)
使用新名称创建一个新作业,将有一个选项从现有作业复制
从要重命名的作业复制
删除原始作业
现在你有了一份同名的工作。为了快速理解,我使用了一些屏幕截图:
我用的是詹金斯版本:2.148
第1步:
在主屏幕/作业列表上,只需单击作业选项
或
只需打开作业详细信息,您将看到左侧的重命名选项
第二步:
输入新名称,只需单击重命名按钮
作业是您要重命名的选定jenkins作业,如果您有管理员权限,则侧栏中有一个配置链接。是的,我有管理员权限…我可以看到右侧侧栏的配置链接,但是在配置向导中,modifyprojectname属性-advancedprojectoptions
I正在使用Jenkins-ver。1.499项目名称是配置屏幕中的第一个字段。它是可编辑的,当您单击“保存”时,系统会询问您是否要更改项目名称。单击是。对于第二个选项。。。滚动一点,直到你看到部分高级项目选项-在右侧有一个高级。。。按钮,然后您可以看到并修改显示名称。您不必重新启动Jenkins来选择重命名的作业目录。您可以管理Jenkins>从磁盘重新加载配置
或直接点击。请注意,如果更改作业名称,则需要手动更改尝试调用重命名作业的任何其他作业。我怀疑@marc.guenther给出的解决方案更正确,因为这似乎是指显示的名称,而不是实际作业名称。请注意,手动重命名文件系统级别的作业文件夹(与通过UI将作业移动到不同的文件夹相同)也不会使用作业名称更新插件的数据文件夹,例如,配置历史记录pluginNote,该字段标签似乎根据项目类型而有所不同,正如我所说的“Maven project name”而不是“project name”。“不需要在文件系统级别重命名”--如果目录名中有空格,则会导致脚本问题UI不再允许更改项目名称,但有Rikin Pateld提到的重命名选项。这是重命名整个作业还是用您选择的任何新零件替换我的作业?在给定的示例中,我只是更新作业名称,为所有以搜索字符串“MY_job”开头的作业添加“_new”后缀。方法“renameTo()”将作业名称设置为作为参数提供的字符串。如果要替换作业的一部分,请在调用renameTo()之前执行此操作然后将新的名称字符串传递给该方法。请指定来源:@Jayan显然他们也是作者字段中该片段的作者。简单易懂-无需过度复杂。谢谢!有没有办法重命名项目,但只需将名称更改为大写?@KR29我想没有直接的方法,但您可以重命名test>>test1,然后返回to重命名为Test。你可以做的一些事情。我已经尝试过了,并且效果良好。
job_to_update.name = new_job_name;
job_to_update.save();
import hudson.model.*
renameChildren(Hudson.instance.items)
def renameChildren(items) {
for (item in items) {
if (item.class.canonicalName != 'com.cloudbees.hudson.plugins.folder.Folder') {
if (( m = item.name =~ /^(Findur.OpenComponent)(\..*)$/)){
println(item.name)
println m.group(1) + " " + m.group(2)
newname = m[0][1] + 's' + m.group(2)
item.renameTo(newname)
}
} else {
renameChildren(((com.cloudbees.hudson.plugins.folder.Folder) item).getItems())
}
}
}
[
[env: '01', hostname: 'host01.intranet'],
[env: '02', hostname: 'host02.intranet'],
[env: '03', hostname: 'host03.intranet'],
[env: '04', hostname: 'host04.intranet'],
[env: '05', hostname: 'host05.intranet'],
[env: '06', hostname: 'host06.intranet'],
[env: '07', hostname: 'host07.intranet'],
[env: '08', hostname: 'host08.intranet'],
[env: '09', hostname: 'host09.intranet'],
[env: '10', hostname: 'host10.intranet'],
[env: '11', hostname: 'host11.intranet'],
[env: '12', hostname: 'host12.intranet'],
[env: '13', hostname: 'host13.intranet'],
[env: '14', hostname: 'host14.intranet'],
[env: '15', hostname: 'host15.intranet'],
[env: '16', hostname: 'host16.intranet'],
[env: '17', hostname: 'host17.intranet'],
[env: '18', hostname: 'host18.intranet'],
[env: '19', hostname: 'host19.intranet'],
[env: '20', hostname: 'host20.intranet'],
].each { Map config ->
job("ci.${config.env}") {
previousNames("ci.${config.env}_2")
description("Continuous Integration on host ${config.env}")
logRotator {
numToKeep(5)
daysToKeep(45)
}
label('build')
wrappers {
colorizeOutput('gnome-terminal')
}
}
}