2017-09-17 1 views
2

GitLab CI를 사용하여 Firebose에 Angular 4 앱을 배포하려하지만 실패했습니다. 그것은 빌드 단계에서 실패한 것GitLab CI가 @ angular/cli로 실패했습니다

image: node:latest 

cache: 
    paths: 
    - node_modules/ 

stages: 
    - setup 
    - build 
    - deploy 

setup: 
    stage: setup 
    script: 
    - npm install 
    only: 
    - master 

build: 
    stage: build 
    script: 
    - npm install -g @angular/cli 
    - ng build -prod 
    only: 
    - master 

deploy: 
    stage: deploy 
    script: 
    - npm install -g @angular/cli 
    - npm install -g firebase-tools 
    - ng build -prod 
    - firebase use --token $FIREBASE_DEPLOY_KEY production 
    - firebase deploy -m "Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive --token $FIREBASE_DEPLOY_KEY 
    only: 
    - master 

, 나는 그것이 @ 각도/CLI 명령을 설치 일으킬 생각 :

여기 내 CI 구성입니다. 또한

, 빌드 단계의 로그가 : http://pasted.co/8d06985e

+0

u는 무엇을 원하는가? 어떤 종류의 프로젝트입니까? 왜 CI/CD에 도커를 사용하지 않습니까? –

답변

2

어떤 이유로 글로벌하게 설치된 패키지는 PATH에 추가되지 않고 사용할 수 없습니다. 내가 상대 경로를 사용하고 있어요합니다 (node_modules/.bin 하위 폴더에 설치되어 ng 같은 NP 실행 파일의 최신 버전으로) 정말

build: 
    stage: build 
    script: 
    - npm install @angular/cli 
    - ./node_modules/.bin/ng build -prod 
+1

맞습니다! 감사. –

0

유 코드 아래, 각 프로젝트를 사용하는 경우가

script: 
- apk add --no-cache git 
- npm install 
- npm install -g bower 
- bower install --allow-root 
- npm run-script build 

NPM이 이미 설치하려면 package.json

에있는 모든 라이브러리를 설치 스크립트에 충분가
관련 문제