Gulp不能与GitLab运行程序一起使用

时间:2018-07-18 07:47:20

标签: powershell gulp gitlab gitlab-ci gitlab-ci-runner

我想让GitLab运行程序在笔记本电脑(Windows 10)上工作,但是由于gulp,它不执行"gulp" is not recognized as a script命令。

这是我的.gitlab-ci.yaml

before_script:
  - npm install -g gulp-cli
  - npm install

cache:  
  paths:
    - node_modules/

stages:
  - build

building:
  stage: build
  tags:
    - onpremise
  script:   
    - gulp build

我的config.toml

的相关设置
executor = "shell"
shell = "powershell"

如果我将shell设置为"cmd",则根本不会调用gulp build

以及我在GitLab中构建作业的输出

$ npm install -g gulp-cli
C:\USERS\_SYSTEM\AppData\Roaming\npm\gulp -> 
C:\USERS\_SYSTEM\AppData\Roaming\npm\node_modules\gulp-cli\bin\gulp.js
+ gulp-cli@2.0.1
updated 1 package in 7.67s
$ npm install
up to date in 11.609s
$ gulp build
gulp : The term "gulp" is not recognized as cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

2 个答案:

答案 0 :(得分:1)

我没有足够的意见要发表,所以请原谅。我怀疑您的工作Powershell会话的$ env:path与gitlab运行程序获得的$ env:path不同。

您可以通过在构建脚本中添加$env:path.split(";")并将输出与您正在运行的powershell会话进行比较来比较两者,从而确认这一点。

您还可以在有效的会话中运行get-command gulp | select source,以找到gulp文件(在我的服务器上,这是个人文件夹中的.cmd文件)。然后,您应该能够在构建脚本的顶部附近添加$env:path = $env:path + ";C:\path\to\that\folder",以解决我怀疑存在的路径问题。

此外,如果尚未安装gulp,则可能需要全局安装。参见https://stackoverflow.com/a/37287770/7674011

答案 1 :(得分:0)

尝试在- npm install --save-dev gulp之后添加- npm install -g gulp-cli