GitLab runner 运行前两个命令并显示“构建成功”

GitLab runner 运行前两个命令并显示“构建成功”

我正在使用 GitLab 的“CI Multi-Runner”,它已安装在 Windows 2012 R2 实例上。构建正确启动并开始运行,但构建在运行我的整个脚本之前就被标记为完成。

.gitlab-ci.yml

build_web:
  script:
    - cd Web
    - npm install
    - jspm install
    - gulp build

推送完成后,管道运行完毕npm install,输出“构建成功”,构建成功结束(跳过了下面两个命令)。

答案1

我在 Windows 上使用 NodeJs / NPM 命令时遇到了 GitLab CI 提前退出的问题。我使用 PowerShell 包装命令来代替直接调用 NPM 解决了这个问题

替换:

- npm install

和:

- powershell -Command "Start-Process npm -ArgumentList install -Wait"

在我的例子中,我也需要运行 grunt,这导致了同样的问题,因此类似地包装如下

powershell -Command "Start-Process grunt -ArgumentList autobuild -Wait"

希望这对你有用,
托比

答案2

改为。这是 Windows shell 的工作方式,如果不使用,npm install它将在相同的上下文中执行,然后在运行后退出。call npm installcall

相关内容