mohit
mohit

Reputation: 33

Error while Running CI Pipeline on Gitlab

I am trying to deploy my angular 7 application on gitlab,my .gitlabci.yml contents are as below its giving on pipeline and both jobs are failing. I want to run tests on 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

Getting error: Pipeline Error

Upvotes: 0

Views: 870

Answers (1)

James
James

Reputation: 2884

Well I don't know what is in your node_modules so it is hard to say. (In future, I recommend posting that information) My first suggestion would be to ensure you have the Angular cli in your node_modules. It should be in your dev dependencies of your package.json .

Otherwise I'd suggest using the Angular cli globally and install it as a separate entity.

If you install it globally, your Gitlab CI instance will be able to find it when you use ng instead of using node_modules/.bin/ng

Add this command along side / inside your installation stage before you use any ng command. (The -g means globally).

npm i -g @angular/cli

Then you can run ng test etc. instead of referencing node_modules.

Upvotes: 1

Related Questions