在Jenkins中创建拉取请求

时间:2018-10-08 20:08:25

标签: git jenkins jenkins-pipeline pull-request

我们有一个带有拉取请求的git设置。 PR挂接到Jenkins,在合并之前先对PR进行测试。

Jenkins贯穿了整个阶段的流水线。但是,如果构建和测试成功,我希望詹金斯为另一个分支机构创建一个额外的PR。

例如

  

A-> PR(手动创建)-> B-> PR(詹金斯)-> C

我已经安装了hub,然后尝试运行

  

集线器请求-b target_branch

但是我遇到很多问题:

  • 已迁移的HEAD(不在分支中)
  • “基本”值无效(特定于集线器,找不到目标分支)
  • origin / target_branch不存在
  • 依此类推

下面是我尝试在Jenkinsfile中创建请求请求的代码段。虽然数量不多,但它尝试将原始分支检出到本地分支,然后针对原始/演示(存在)创建PR。

    stage('Pull request') {
        sh 'git checkout -b ' + env.BRANCH_NAME + ' origin/' + env.BRANCH_NAME
        sh 'hub pull-request -b origin/demo'
    }

有人实现了吗?像这样完成的事情,还是您走了另一条路?还是不可能(以可管理的方式)?

编辑

针对此评论,我想以一种可能的清晰方式澄清我的问题。

  • 运行 checkout scm 时如何处理HEAD分离问题?是上面的代码片段中介绍的方式吗?
  • 为什么

      

    hub pull-request -b origin / demo

    “基本”值的结果无效(集线器找不到 origin / demo 分支)

  • git也是如此。如何使工作区知道其他远程分支?

0 个答案:

没有答案