小编Tom*_*tte的帖子

Jenkins Pipeline基于groovy:无法推入git => Permission denied(publickey)

詹金斯语境

Jenkins版本:版本2.23
我试图使用groovy脚本从jenkins管道进行git推送.目标是在舞台上创建一个标签,并在我的git仓库上远程推送它.

我的管道作业配置出了什么问题(参见下文)?

问题

我有一个使用credentialsId的帐户,可以完美地运行获取和克隆.但是当我尝试推送我的标签时,我收到以下错误.

git push ssh://git.server:29418/AA/myrepo.git --tags Permission denied(publickey).致命:无法从远程存储库读取.

凭据/ SSH

公钥正确添加到我的git/gerrit服务器中
该帐户对gerrit具有"ALLOW"权限:

参考:refs/tags/*

  • 创建参考
  • 伪造作者身份
  • 伪造提交者身份
  • 推注释标签
  • 推送签名标签

Jenkins Pipeline:时髦的剧本


node {
    echo "=================="
    string workspace=pwd()
    sh ('ls -al $workspace')

    String credentialsId="aaa-bbb-ccc-ddd-eee"
    String  gitRepo="ssh://git.server:29418/AA/myrepo.git"

    // stage
    stage "Test Tag Push"

    git credentialsId: "${credentialsId}", url: "${gitRepo}"


    println "cmd = git tag "
    sh(script: 'git tag')

    tagName="MyTag"

    sh(script: "git tag -d $tagName")
    sh(script: "git tag $tagName")
    sh(script: 'git tag')
    println "git repo : ${gitRepo}"
    sh('git push ssh://git.server:29418/AA/myrepo.git …
Run Code Online (Sandbox Code Playgroud)

git ssh push jenkins jenkins-pipeline

3
推荐指数
1
解决办法
6042
查看次数

标签 统计

git ×1

jenkins ×1

jenkins-pipeline ×1

push ×1

ssh ×1