не удалось объединить pr с master после успешной сборки через конвейер jenkins - PullRequest
0 голосов
/ 05 сентября 2018
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'

Дженкин показывает журналы, как показано ниже:

git checkout -f cf1dbfbd9e1f52bf41738884a5c48ab1a59e5104 [Трубопровод] сшагент

[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. Есть ли что-то еще, что мне нужно настроить

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Нашел ответ как показано ниже:

sshagent(credentials: ['<credentialId>']) {
              sh 'git checkout master'
              sh 'git merge --no-ff $sha1'
              sh 'git push origin master'
            }
0 голосов
/ 05 сентября 2018
  options: [mergeStrategy: 'DEFAULT', fastForwardMode: 'NO_FF', mergeRemote: 'origin', mergeTarget: ghprbTargetBranch]]]

Вы упомянули mergeTarget как "ghprbTargetBranch"

mergeTarget - это ветка, с которой вы хотите объединиться.

и

 sh "git push origin $ghprbTargetBranch"

Две вышеуказанные команды не совпадают ... возможно, вы ошибочно добавили $ в вышеуказанную команду.

Если нет, то вы упомянули $ ghprbTargetBranch, т. Е. Ему может быть присвоено значение, например
ghprbTargetBranch = master

На основании логов я предполагаю, что вы пытаетесь слиться с мастером. Если это так, то вам нужно изменить mergeTarget на master .

Если нет, то есть mergeTarget = ghprbTargetBranch - это ветвь, с которой вы хотите объединиться, тогда
команда sh, т. е. $ ghprbTargetBranch (присвоенное ей значение не равно ghprbTargetBranch), вероятно, отличается.

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...