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

jenkins管道从scm获取管道脚本下的存储库url变量

周良弼
2023-03-14

我正在使用位于git存储库中的Jenkins文件。我已经使用来自scm的管道脚本配置了新作业,该脚本指向我的JenkinsFile。我试图在我的Jenkins file pipeline脚本中使用git模块,以便从我的git repo中提取我的数据,而不需要配置prestatic变量,并且仅仅使用在我的作业中已经配置的scm pipeline脚本下的存储库URL变量。在我的Jenkins管道脚本中,有一种方法可以从这个插件中以某种方式获得变量存储库URL而不使用参数。

我已经尝试了环境变量GIT_URL和其他与git相关的东西,但这并不起作用。

共有1个答案

松雅健
2023-03-14

您可以在scm变量(如果使用git,则为GitSCM实例)中找到有关scm的所有信息。您可以通过以下方式获取存储库URL

def repositoryUrl = scm.userRemoteConfigs[0].url  

但是,如果您只想签出该存储库,您只需调用checkout scm,而不需要指定任何其他内容。参见签出步骤

 类似资料:
  • 我正在尝试使用groovy构建脚本将构建管道迁移到“管道插件”。 我的管道通常是: 测试(梯度) 我想在我的jenkins构建脚本中使用像version/group等的gradle变量来发布到artiFactory中的正确文件夹中。这是artiFactory插件过去会为我处理的事情。如何实现? 对于单个gradle项目,我使用如下内容:

  • 问题内容: 我正在尝试将旧样式的基于项目的工作流转换为基于Jenkins的管道。在浏览文档时,我发现有两种不同的语法分别命名为和。例如最近(2016年底)发布的Jenkins网络语法。尽管有一个新的语法版本,Jenkins仍然也支持脚本语法。 现在,我不确定这两种类型的哪种情况最合适。语法将很快被弃用吗?詹金斯管道的未来会是这样吗? 任何可以分享有关这两种语法类型的想法的人。 问题答案: 最初创建

  • 目前,我们使用JJB编译Jenkins作业(大部分已经是管道),以便配置大约700个作业,但JJB2似乎无法很好地扩展以构建管道,我正在寻找一种方法将其从等式中删除。 我主要希望能够将所有这些管道存储在一个集中的存储库中。 请注意,在我们的用例中,将CI配置(jenkins文件)保存在每个存储库和分支中是不可能的,我们需要将所有管道保存在一个“jenkins jobs.git”repo中。

  • 问题内容: 在Jenkins中,我希望获得用户输入并将其传递给Shell脚本以供进一步使用。 我尝试将其设置为环境变量,但是shell脚本无法获取最新值,而旧值是echo。 问题答案: 您需要在阶段之间传递变量作为环境变量,例如:

  • 我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline

  • 问题内容: 我想使用Jenkins 2.x Groovy Script Build Pipeline开始Sonar项目分析。 我在Maven中配置了声纳,所以没什么大不了的: 但是我如何从声纳获得结果呢?甚至更好的是,我如何确定是否达到了质量要求,以便停止构建管道。 据我所知,自从某些声纳版本以来,构建破坏者的概念就已过时。或您将如何处理。 我仍然认为,如果项目的基础代码太糟糕,则停止/暂停构建管