首页 > 解决方案 > 通过jenkins管道成功构建后无法将pr合并到master

问题描述

sh 'git config --global user.name "$ghprbTriggerAuthor"'  
    sh 'git config --global user.email "$ghprbTriggerAuthorEmail"'  
    checkout changelog: true, poll: true, scm:
      [$class                           : 'GitSCM',
       branches                         : [[name: sha1]],
       doGenerateSubmoduleConfigurations: false,
       extensions                       : [[$class : 'PreBuildMerge',
                                            options: [mergeStrategy: 'DEFAULT', fastForwardMode: 'NO_FF', mergeRemote: 'origin', mergeTarget: 'master']]],
       submoduleCfg                     : [],
       userRemoteConfigs                : [[credentialsId: '<id>', url: 'git@git.xx.com:<repo-name>/<project-name>',name: 'origin',
        refspec: '+refs/pull/*:refs/remotes/origin/pr/*',]]]
        sshagent (credentials: ['<credentialId>']) {
           sh "git status"
           sh "git push origin master"

        }
        sh 'git log -n 10'

jenkin 显示日志如下:

git checkout -f cf1dbfbd9e1f52bf41738884a5c48ab1a59e5104 [管道] sshagent

[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-eAaXoe8YpGdR/agent.28743
SSH_AGENT_PID=28746

[ssh-agent] Started.
[Pipeline] {
[Pipeline] sh
[Search-UI] Running shell script
+ git status
HEAD detached at origin/master
nothing to commit, working tree clean
[Pipeline] sh
$ ssh-agent -k
unset SSH_AUTH_SOCK;
unset SSH_AGENT_PID;
echo Agent pid 28746 killed;
[ssh-agent] Stopped.
[Search-UI] Running shell script
+ git push origin master
Everything up-to-date

但在 git 上看不到任何变化。还有什么我需要配置的吗

标签: gitjenkinsgithubgroovy

解决方案


找到答案如下:

sshagent(credentials: ['<credentialId>']) {
              sh 'git checkout master'
              sh 'git merge --no-ff $sha1'
              sh 'git push origin master'
            }

推荐阅读