在Gitlab上运行CI管道时出错

时间:2020-01-04 11:22:34

标签: angular gitlab gitlab-ci

我正在尝试在gitlab上部署我的angular 7应用程序,我的.gitlabci.yml内容如下 它在管道上的付出,两个工作都失败了。 我想在CI上运行测试

image: node:latest

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/

before_script:
  - apt-get update && apt-get install -y unzip fontconfig locales gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
  - npm install --silent

stages:
  - test
  - build

job 1:
  stage: test
  script: node_modules/.bin/ng test

job 2:
  stage: test
  script: node_modules/.bin/ng e2e

release_job:
  stage: build
  script: node_modules/.bin/ng build --prod --aot
  artifacts:
    name: "project-$CI_COMMIT_REF_NAME"
    paths:
      - dist/
  only:
    - tags

获取错误: Pipeline Error

1 个答案:

答案 0 :(得分:1)

我不知道您的node_modules中有什么,所以很难说。 (以后,我建议发布该信息) 我的第一个建议是确保在node_modules中具有Angular cli。它应该在package.json的dev依赖项中。

否则,我建议全局使用Angular cli并将其安装为单独的实体。

如果是全局安装,则在使用ng而不是node_modules/.bin/ng时,您的Gitlab CI实例将能够找到它

在使用任何ng命令之前,请在安装阶段的内部/内部添加此命令。 (-g表示全局)。

npm i -g @ angular / cli

然后,您可以运行ng test等,而不用引用node_modules。