我正在使用 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 install
call