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

我怎么才能在詹金斯拿到钱?

通宾白
2023-03-14

我正在将SonarQube集成到Jenkins中。我们目前使用浅克隆,因为我们的存储库在历史上完全克隆大型二进制文件的速度很慢。SonarQube需要运行git指责,这显然对浅克隆不起作用。我需要一个解决方案,但我不能更改全局Jenkins配置(它会减慢所有构建)。

情况:

checkout scm不带参数。

sh'git fetch--unshall由于没有凭据而获取错误。

我尝试了这个怪物来定制参数,以检出scm:

checkout scm: [
    $class: 'GitSCM', userRemoteConfigs: [
        [url: env.repoURL, credentialsId: 'GitHubEnterprise']
    ], extensions: [
        [$class: 'CheckoutOption', timeout: 60],
        [$class: 'CloneOption', noTags: true,
            reference: '/var/lib/gitchcache/reference.git',
            shallow: false, timeout: 60]
    ], branches: [
        [name: branch]
    ]
], remoteName: "origin", poll: false, clearWorkspace: true

但我有一个错误:

> git rev-parse PR-42^{commit} # timeout=10

Couldn't find any revision to build. Verify the repository
and branch configuration for this job.

报告的问题似乎集中在未能提供“存储库名称”上:

  • https://issues.jenkins-ci.org/browse/JENKINS-21845

我试图构建一个Pull请求,但它没有用于更改的refspec。我不知道为什么不能推断,但事实并非如此。

以下是解决第一部分问题的方法:

checkout scm: [$class: 'GitSCM',
               userRemoteConfigs: [
                       [url: env.GIT_URL,
                        refspec: "+refs/pull/${prNumber}/head:refs/remotes/origin/${branch}",
                        credentialsId: 'GitHubEnterprise']
               ],
               extensions: [
                       [$class: 'CloneOption',
                        shallow: false,
                        timeout: 60]
               ],
               branches: [
                       [name: branch]
               ]
]

结帐工作,建筑工作,但我仍然得到一个肤浅的结帐...

INFO: SCM provider for this project is: git
INFO: 1 files to be analyzed
WARN: Shallow clone detected, no blame information will be provided. You can convert to non-shallow with 'git fetch --unshallow'.
INFO: 0/1 files analyzed
WARN: Missing blame information for the following files:
WARN:   * src/main/java/com/example/Example.java

以下是我想要的一个特定构建步骤:签出scm,但要在代码中使用浅层的“unchecked”。

我怎么才能在詹金斯拿到钱?

共有1个答案

桂阳文
2023-03-14

这是不可能与git詹金斯插件的版本git-4.0.0-beta3。在源代码中没有任何支持或提及git finchunKatie参数。

你可以做的是省略你的git詹金斯插件选项,因为是:浅的第一次获取,所以它的速度更快。

那么你有一些选择:

  • 在构建的执行shell中,您可以通过直接使用git而不是通过插件来运行非浅过程。
  • 如果这会减慢太多的构建,请在SonarQube进入工作区并运行不浅层过程之前进行预运行步骤。这可以通过Groovy脚本来完成。
 类似资料:
  • 我已经为我们的项目设置了jenkins声明管道,而且我正在使用jenkins blue ocean插件 在github中,它显示以下url:http://unconfigured-jenkins-location/job/CRM/job/PR-180/1/display/redirect 如何将网址更改为正确的网址? 我发现这个插件是有责任的https://wiki.jenkins.io/disp

  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 问题内容: 我在中定义了以下步骤。 我可以看到这是在控制台上还原软件包,但是一旦开始构建,该解决方案中的所有项目都将失败,并出现以下错误。 错误: “ C:\ Program Files \ dotnet \ sdk \ 2.1.402 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.PackageDependencyResolution.targ

  • 我正在使用jenkins管道,我的Jenkinsfile有几个阶段和工作。有没有办法在詹金斯管道之外运行特定的工作? 示例:假设其中一个阶段是执行“SCP构建工件到远程位置”。出于某种原因,这失败了,如果我想手动运行jenkins管道之外的其他工作,我如何做到这一点? 我对调用新的构建最不感兴趣。那么,我们可以手动运行jenkins管道以外的故障后的剩余作业吗?

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。