加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows上Jenkins的git插件不使用带子模块的凭据

发布时间:2020-12-13 21:25:34 所属栏目:Windows 来源:网络整理
导读:我在 Windows上使用git与Jenkins有问题,我可以使用ssh凭据从BitBucket获取git存储库,但是当它尝试获取同一帐户上的子模块存储库时,我获得了权限异常. 从git@bitbucket.org获取上游更改:mycomp / at.git C:CIGitbingit.exe –version using GIT_SSH to s
我在 Windows上使用git与Jenkins有问题,我可以使用ssh凭据从BitBucket获取git存储库,但是当它尝试获取同一帐户上的子模块存储库时,我获得了权限异常.

从git@bitbucket.org获取上游更改:mycomp / at.git

C:CIGitbingit.exe –version
using GIT_SSH to set credentials Bitbucket key
C:CIGitbingit.exe fetch –tags –progress git@bitbucket.org:mycomp/at.git +refs/heads/:refs/remotes/origin/
C:CIGitbingit.exe rev-parse “origin/ci^{commit}”
Checking out Revision a079842300ba7fc9e6f4e7182c94af2cfc3af0ba (origin/ci)
C:CIGitbingit.exe config core.sparsecheckout
C:CIGitbingit.exe checkout -f a079842300ba7fc9e6f4e7182c94af2cfc3af0ba
C:CIGitbingit.exe rev-list a079842300ba7fc9e6f4e7182c94af2cfc3af0ba
C:CIGitbingit.exe remote
C:CIGitbingit.exe submodule init
C:CIGitbingit.exe submodule sync
C:CIGitbingit.exe config –get remote.origin.url
C:CIGitbingit.exe submodule update
FATAL: Command “C:CIGitbingit.exe submodule update” returned status code 1:
stdout:
stderr: Cloning into ‘include/portal_air’…
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@bitbucket.org:mycomp/portal_air.git' into submodule path 'include/portal_air' failed

hudson.plugins.git.GitException: Command "C:CIGitbingit.exe submodule update" returned status code 1:
stdout: 
stderr: Cloning into 'include/portal_air'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@bitbucket.org:mycomp/portal_air.git' into submodule path 'include/portal_air' failed

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1406)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:87)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$6.execute(CliGitAPIImpl.java:741)
    at hudson.plugins.git.extensions.impl.SubmoduleOption.onCheckoutCompleted(SubmoduleOption.java:77)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:908)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1414)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:671)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580)
    at hudson.model.Run.execute(Run.java:1684)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:231)
是的,这是克隆项目及其子模块时遇到的问题.

我使用https而不是git @来克隆repos,git scm插件只将通过jenkins传递的凭据应用到主模块而不是子模块.
要解决这个问题,我必须运行一个存储凭证的进程,并将其传递给任何需要身份验证的git操作.像这样
http://www.scmtechblog.net/2014/12/git-authentication-for-automation-script.html

现在,您正尝试通过git @访问并仍然获得权限被拒绝,您能否确保该帐户对您添加了ssh密钥的子模块存储库具有正确的访问权限.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读