GitLab CI使用Node测试master和branch之间的差异

时间:2016-10-26 17:20:01

标签: node.js git continuous-integration

目前我正在尝试测试GitLab CI上的master和分支之间的差异。

var branch = require('git-branch'),
    gitDiffTree = require('git-diff-tree'),
    path = require('path');

var branch = process.env.CI_BUILD_REF_NAME || branch.sync();
var repoPath = path.resolve(process.env.REPO || (__dirname + '/../.git'));

{
  repoPath: repoPath,
  gitDiffTreeOptions: {
    rev: 'master..' + branch
  }
}

以下是我正在使用的重要代码。这在本地工作得很好,但是当在GitLab CI上运行时它会fatal: bad revision 'master.. branch' branch两次rev: HEAD变量填充相同的值。有什么建议如何让这个工作?它以前曾经用input.length做了很好的工作,因为它只测试了分支中最近的提交而不是所有提交。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题(运行 bad revision 'master' 和类似命令时为 git diff master -- .),并使其工作如下:

  1. 运行 git fetch origin master(从管道中)
  2. 引用 master 分支时,使用 origin/master 而不是 master

我认为 gitlab 获取存储库内容的方式不会导致 master 成为本地有效的分支名称。我对 git 的胆量不够熟悉,无法准确指出原因。