作业导入插件不导入文件夹 [英] Job Import Plugin doesn’t import folder

查看:24
本文介绍了作业导入插件不导入文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前正在尝试将作业从运行在AWS上的服务器导入到运行在GCP Kubernetes上的新服务器。

我已经在新服务器上设置了Job Import Plugin3.4版。

当我尝试导入作业时,它只有1个作业。

但是,当我导入包含作业和文件夹的文件夹时,导入的文件夹中没有任何内容。

旧服务器:Jenkins版本2.127

新服务器:Jenkins版本2.289.2

有帮助吗?

推荐答案

该插件似乎没有提供文档,无论是在legacy wiki pagePlugins pageGitHub repo中。此answer from @valdeci在提供使用说明方面做得很好。

tl;dr:您必须分阶段进行;首先是文件夹,然后是每个文件夹中的作业。"递归到文件夹"无法正常工作。

问题:Jenkins将文件夹对象视为另一种作业类型,类似于Freestyle Job和Pipeline Job(因此出现了&Quot;New Item&Quot;演示文稿)。很明显,该插件不能直观地处理文件夹和文件夹内的作业。它也不向用户提供直接反馈(错误在jenkins.log中)。

上下文:只要同时选择文件夹和嵌套作业,使用Jenkins 1.121.3加上job-import-plugin-3.3,Folders-6.5.1就可以正常工作。

插件有number of open issues,包括:
Jenkins-64121:Jenkins ImportPlugin-错误‘/’不安全字符 和53902(仅复制文件夹,但不复制文件夹内存在的作业)。我不知道行为何时改变,但可以导入作业。

配置/设置

以下内容已验证jenkins-2.289.3,job-import-plugin-3.4,文件夹-6.16。

假设您安装、配置了作业导入插件(左图),单击了作业导入插件按钮(或${JENKINS_URL}/job-import(右图)):

您有空的目标结构和源结构:

JobInRoot
AFolder
AFolder/JobInFolder

失败结果

如果单击查询!,则响应将为JobInRootAFolder
选择两者,它将导入JobInRootAFolder,但不会导入其内容。这是因为它只导入了两个作业项(Freestyle作业项和文件夹作业项);它不会递归导入文件夹内的作业。

JobInRoot成功
AF文件夹成功

如果勾选[ X ] Search into folders并单击查询!,则响应将全部为这三个项目。选择所有三个项目并导入!,结果为:

JobInRoot成功
AFFolder成功
JobInFolder失败-‘/’是不安全字符

解决方案

  1. 如上所示,首先导入文件夹AFolder
  2. 再次运行作业导入插件,但将RemoteFolder设置为[job/AFolder],然后设置查询!这是为了解决不安全&q;/&q;字符问题和文件夹插件处理不当的问题。现在您将在AFolder中看到嵌套作业。
  3. 设置Copy to folder [ AFolder ],选择JobInFolder导入!

JobInFolder成功

并且作业实际位于AFolder/JobInFolder

3a。要将嵌套文件夹(例如:L1Folder/L2Folder/L3Folder/jobInFolder3)处理到嵌套文件夹中,请再次迭代,但每个级别都需要插入";job/"前缀,即:RemoteFolder[job/L1Folder/job/L2Folder/job/L3Folder ...]。不要预先考虑rooturl,仅从";job/";:限定的itemByFullName-ish。

3b。如果要将嵌套作业复制到根文件夹,则必须设置Copy to folder [ / ],否则将收到:

JobInFolder失败NULL

可能有更多细微差别,但此方法应该有助于迁移大多数项目。尚未测试选项[]安装所需的插件或[]覆盖现有作业。

这篇关于作业导入插件不导入文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆