无法让 GitLab CI 构建我的 Middleman/Gulp 项目

Cannot get GitLab CI to build my Middleman/Gulp project

我正在使用 Gitlab-CI 构建我的 Middleman 应用程序,该应用程序还使用了一些前端节点 (Gulp)。

这是我的 .gitlab-ci.yml(主要是从 here 复制的):

image: ruby:2.3

cache:
  paths:
  - vendor
  - node_modules

before_script:
  - apt-get update -yqqq
  - apt-get install -y npm
  - ln -s /usr/bin/nodejs /usr/bin/node
  - npm install
  - bundle install --path vendor

test:
  script:
  - bundle exec middleman build
  except:
    - master

pages:
  script:
  - bundle exec middleman build
  artifacts:
    paths:
    - public
  only:
  - master

除了在 npm installing 时似乎使用的是旧版本节点这一重要问题外,一切都很好。我收到了很多:

npm WARN engine gulp-babel@7.0.0: wanted: {"node":">=4"} (current: {"node":"0.10.29","npm":"1.4.21"})

最终在 "const path" SyntaxError 失败之前。

我添加了一行符号链接新的 nodejs 与旧名称 (- ln -s /usr/bin/nodejs /usr/bin/node) 但它似乎没有效果...?

我的脑袋已经敲了很久了,一定有人成功了?

Debian Jessie 附带固定的 NodeJs 主要版本,follow NodeSource instructions 以安装特定版本,这将适合您的 gitlab-ci.yml 像这样(您可能需要先安装 curl因为它没有安装在 ruby:2.3 图像中):

before_script:
  - apt-get update -q && apt-get -qqy install curl 
  - curl -sL https://deb.nodesource.com/setup_9.x | bash -
  - apt-get update -q && apt-get -qqy install nodejs npm 
  - ln -s /usr/bin/nodejs /usr/bin/node
  - npm install
  - bundle install --path vendor