已上载项目的图像:“Jenkins”必威国际有限公司
  1. 必威国际有限公司
  2. 必威国际有限公司詹金斯-28335

管道步运行具有凭证及工具Git命令

    XML 单词 可打印

    细节

    • 类似的问题:
    • 发布为:
      4.8.0 - 发布用户名/密码凭证装订

      描述

      如果能够使用GitPublisher一个内部工作流程,因为它有可能在其他工作。

      这需要插件升级到Jenkins核心1.580.1+,以实现必威国际有限公司必威国际有限公司jenkins.tasks.SimpleBuildStep在里面GitPublisher

        附件

          问题链接

            活动

            隐藏
            利比佩普迪伊Kryvenko添加了一条评论-

            新的gitUsernamePassword绑定仅用于一组凭据。

            不同的git位置通常需要不同的凭据集。

            例如Go模块、Terraform模块和其他使用Git进行依赖关系管理的模块。如果我们正在构建的当前存储库依赖于其他存储库,那么我们需要当前存储库的读写git凭据(例如,我们可以发布标记),而我们需要获取依赖项的所有其他内容的只读凭据集。

            如果结合目前的AskPass帮助器 - 一个简单的办法是在接受额外的参数绑定会告诉绑定的位置。

            显示
            利比佩普迪伊Kryvenko添加了一条评论-新的gitUsernamePassword绑定仅用于一组凭据。不同的git位置通常需要不同的凭据集。例如Go模块、Terraform模块和其他使用Git进行依赖关系管理的模块。如果我们正在构建的当前存储库依赖于其他存储库,那么我们需要当前存储库的读写git凭据(例如,我们可以发布标记),而我们需要获取依赖项的所有其他内容的只读凭据集。如果此绑定当前实现为AskPass助手,那么一个简单的修复方法是在绑定中接受额外的参数,该参数将告诉绑定的位置。
            隐藏
            马奎特马克·韦特添加了一条评论-

            迪伊Kryvenko你能不能达到通过具有用于读取访问所有存储库,并且允许读额外的证书/到一个存储库的写入权限要写入需求的单一凭证相同的结果?读操作(如读取和克隆)将内进行凭证件块使用读取凭据,然后单独凭证件块将被用来执行写操作。

            显示
            马奎特马克·韦特添加了一条评论-迪伊Kryvenko不能你实现由具有用于读取访问所有存储库,并且允许读额外的证书/到一个存储库的写入权限要写入需求的单一凭证相同的结果?读操作(如提取和克隆)将被使用读取凭证块A withCredentials内执行,则单独的withCredentials块将被用来执行写操作。
            隐藏
            利比佩普迪伊Kryvenko添加了一条评论-

            马克·韦特- 你是假设整个管道是Jenkinsfile。必威国际有限公司这是远离甚至在大多数情况下是。在现实中 - Jenki必威国际有限公司nsfile代表的工具,如制作/ Maven的/摇篮/ NPM / Terraform /等。用户提供的不受信任的代码应该能够安全地访问只有什么是它允许 - 写入当前仓库和阅读其他版本库的依赖关系。从Jenkinsf必威国际有限公司ile水平 - 我们没有接触到什么是要在用户提供的代码发生。为了实现这个工作流程 - 我们需要传递给工具几套凭据。它可能会更复杂,因为可能有几个地点,如GitHub的[机构在发挥每个不同的凭据集 - 甚至是完全不同的供应商(GitHub的+ GitLab为例)。

            显示
            利比佩普迪伊Kryvenko添加了一条评论-Mark Waite-您假设整个管道是一个Jenkinsfile。这在大多数情况下都远远不是这样。事实必威国际有限公司上,Jenkinsfile委托给Make/Maven/Gradle/NPM/Terraform/等工具。用户提供的不受信任代码应该能够安全地访问它允许的内容-写入当前存储库并读取其他内容positories作为依赖项。从Jenkinsfile级别来看,我们不知道用户提供的代码中会发生什么。要启用此工作流,我们需要向该工具传递几组凭据。这可能更复杂,因为可能有多个位置,例如GitHub Orgs,与不同的cr集一起使用Edential分别提供或甚至完全不同的提供者(例如GitHub+GitLab)。
            隐藏
            马奎特马克·韦特添加了一条评论-

            迪伊Kryvenko自从凭证件步骤为内部的所有git操作提供凭据SH.蝙蝠, 或者动力壳在这一步中,无论调用git的程序是make、maven、gradle、bazel还是任何其他工具,我都希望它表现良好。我认为您将不同的凭证映射到单个存储库的场景听起来像是一个比我准备使用凭证件技术。

            显示
            马奎特马克·韦特添加了一条评论-迪伊Kryvenko因为withCredentials步骤提供凭据到SH,蝙蝠,或PowerShell的步骤里面的所有git的操作,我希望它很好地表现是否程序调用git的是化妆时,Maven,gradle这个,巴泽尔,或任何其他工具。我觉得你映射不同的凭据,个人仓库听起来像是一个更有挑战性的用例的情况比我已经准备好使用withCredentials技术来解决。
            隐藏
            利比佩普迪伊Kryvenko添加了一条评论--编辑

            马克·韦特例如,“程序”可能希望同时获取依赖项和推送发布标记。您无法从Jenkins文件中了解这一点。在Jenkins文件中,这只是一个步骤。必威国际有限公司

            实际上,这一切都很简单-新绑定可以接受多对url:credential id,该id将呈现为如下配置文件:

            [凭据“https://github.com“]useHttpPath =真的助手= ... [凭证“https://gitlab.com”]useHttpPath =真的帮手= ...

            和助手,那么会考虑这两个主办小路在输入(后者只时可用useHttpPath =真)来匹配与UsernamePasswordCredentials例如。

            显示
            利比佩普迪伊Kryvenko添加了一条评论--编辑Mark Waite“程序”可能希望同时获取依赖项和推送发布标记,例如。你不能从你的詹金斯档案中知道这一点。在Jenkins文件中,这是一个单独的步骤。实际上,这一切都很简单-新绑定可以接受多对url:credential id,该id将呈现为如下配置文件:[credential“https://github.必威国际有限公司com”]useHttpPath=true helper=。。。[credential“https://gitlab.com”]useHttpPath=true helper=。。。然后,助手将查看输入中的主机和路径(后者只有在useHttpPath=true时才可用),以与UsernamePasswordCredentials实例匹配。

              人们

              受让人:
              未分配的未分配的
              记者:
              阿莱查普阿德里安Lecharpentier
              投票:
              150. 投票给这个问题
              观察者:
              156. 开始观看这个问题

                日期

                创建:
                更新: