当前位置: 首页 > 知识库问答 >
问题:

[Jenkins]如何远程创建共享库?

公孙弘图
2023-03-14

我的groovy脚本都在git存储库中,使用jenkins checkout SCM。其中一个groovy脚本中有一些常用函数,我想使这个groovy成为一个共享库,而无需打开jenkins并在jenkins管理表中添加共享库。

我可以使用RESTAPI或其他方法添加新库吗?

共有2个答案

党浩阔
2023-03-14

如果您的存储库与共享库结构(如vars dir)对齐,则可以从文件中动态加载共享库。

您需要使用命令并提供所有相关参数。

对于所有参数选项,可以使用代码段帮助选项。

公西宏毅
2023-03-14

是的,您可以动态加载库]从源代码控制:https://jenkins.io/doc/book/pipeline/shared-libraries/#dynamic-retrieval.这看起来像

library(identifier: 'pipeline-helper@master', retriever: modernSCM(
  [$class: 'GitSCMSource',
       remote: 'https://github.com/papanito/jenkins-pipeline-helper.git',
       credentialsId: 'github.user'
]))

如果您在src/com/form/MyClass下有一个静态的helper类,您可以执行以下操作:

def MyClass = library(identifier: 'pipeline-helper@master', retriever: modernSCM(
  [$class: 'GitSCMSource',
       remote: 'https://github.com/papanito/jenkins-pipeline-helper.git',
       credentialsId: 'github.user'
])).com.example.MyClass


 类似资料:
  • 我已经编写了一个库,过去我使用自编的Makefile编译它,但现在我想切换到cmake。树是这样的(我删除了所有不相关的文件): 我只是想把它编译到一个共享的文件库中。 我发现的大多数示例都使用一些共享库编译可执行文件,但绝不仅仅是一个普通的共享库。如果有人能告诉我一个使用cmake的非常简单的库,那也会很有帮助,所以我可以用这个作为例子。

  • 我想为消息驱动的EJB创建一个主题上的共享、非持久订阅,并想知道如何使用@MessageDriven和@ActivationConfigProperty来实现这一点。 我发现一篇文章描述了类似的事情,但我不确定这是否适用于我的问题: 订阅的共享依赖于客户端id的设置,不仅对于持久订阅(总是需要客户端id),对于非持久订阅(通常不需要客户端id)也是如此。如果订阅是由资源适配器创建的,以供消息驱动b

  • JMS 2.0规范引入了共享持久订阅的概念。我有一个用例,我必须在服务器启动时以编程方式创建订阅。我们有集群的JBoss服务器。因此,每个JBoss都有类似的配置,每个JBoss都有将创建持久订阅者的应用程序(消息提供者是WMQ)。由于持久订阅必须有一个唯一的名称,我想到了使用共享订阅。现在的问题是Spring的4.0.6.RELEASE支持JMS 2.0中的新功能,但是我没有找到通过Spring

  • 我试图从一个位于vars下的新脚本中获取信息,该脚本是从共享库Jenkins类调用的,但出错了。 > 需要-全局配置文件。 目标-能够在共享库中获取全局值,而无需从Jenkins文件发送参数。 文件结构 变量/全局变量。棒极了 shared_library类 詹金斯档案 因此,我可以看到管道中第一次打印的值,但对于第二次打印,我得到: 类:src没有这样的属性:globals。组织。詹金斯。共享图

  • 问题内容: 我正在尝试设置一个脚本,该脚本将: 连接到Windows共享 使用LOAD DATA LOCAL INFILE,将两个文件上载到相应的数据库表中 数量份额 情况: 我目前可以vpnc进入这台远程计算机 问题: 我不能 我尝试首先手动执行此操作 远程服务器打开到端口445 问题: 我什至需要先使用vpnc吗? vpnc之后是否需要为远程ip / mask / gw添加路由? 谢谢! 问题

  • 我有一个名为“jenkins共享库”的jenkins共享库的存储库,现在我创建了一个名为“test”的新分支, 我有一个应用程序需要在jenkins文件中使用这个jenkins共享库,目前它被称为 我想在我的jenkins文件中使用我的jenkins共享库的这个特定测试分支,我如何使用jenkins共享库的特定分支???