2017-09-04 78 views
0

我已經在Angular cli中創建了一個項目。我想用圓ci來做CI。該項目上傳到Bitbucket中,並由Circle CI正確選取。雖然構建失敗。以下是config.yml(採摘CircleCI的sample.yml,改變它(加NG測試)。我認爲通過angularcli前面創建的的package.json將安裝AngularCLI。npm安裝在圓形ci中失敗(角度cli項目)

version: 2 
jobs: 
    build: 
    #working_directory: ~/mern-starter 
    # The primary container is an instance of the first list image listed. Your build commands run in this container. 
    docker: 
     - image: circleci/node:7.10.0 
    # The secondary container is an instance of the second listed image which is run in a common network where ports exposed on the primary container are available on localhost. 
     #- image: mongo:3.4.4 
    steps: 
     - checkout 
     - run: 
      name: Update npm 
      command: 'sudo npm install -g [email protected]' 
     - restore_cache: 
      key: dependency-cache-{{ checksum "package.json" }} 
     - run: 
      name: Install npm wee 
      command: npm install 
     - save_cache: 
      key: dependency-cache-{{ checksum "package.json" }} 
      paths: 
      - node_modules 
    test: 
    docker: 
     - image: circleci/node:7.10.0 
     #- image: mongo:3.4.4 
    steps: 
     - checkout 
     - run: 
      name: Test 
      command: ng test 
     #- run: 
     # name: Generate code coverage 
     # command: './node_modules/.bin/nyc report --reporter=text-lcov' 
     #- store_artifacts: 
     # path: test-results.xml 
     # prefix: tests 
     #- store_artifacts: 
     # path: coverage 
     # prefix: coverage 

workflows: 
    version: 2 
    build_and_test: 
    jobs: 
     - build 
     - test: 
      requires: 
      - build 
      filters: 
      branches: 
       only: dev 

錯誤

#!/bin/bash -eo pipefail 
npm install 
module.js:472 
    throw err; 
    ^

Error: Cannot find module 'process-nextick-args' 
    at Function.Module._resolveFilename (module.js:470:15) 
    at Function.Module._load (module.js:418:25) 
    at Module.require (module.js:498:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_readable.js:26:23) 
    at Module._compile (mod 

我看到下面的行之後npm install一步,所以我想過程nexttick-ARGS已安裝。 [email protected] node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-arg

回答

0

繼configurat離子爲我工作。我使用CircleCI 2.0。我仍在改進它,並可能在未來改變答案。

version: 2 

jobs: 
    build: 
     working_directory: ~/angularcli 
     # The primary container is an instance of the first list image listed. Your build commands run in this container. 
     docker: 
      - image: circleci/node:6-browsers 
       environment: 
        CHROME_BIN: "/usr/bin/google-chrome" 
     steps: 
      - checkout 
      - run: 
       name: Install node_modules with npm 
       command: npm install 
      - save_cache: 
       key: dependency-cache-{{ checksum "package.json" }} 
       paths: 
        - ./node_modules 
      - run: 
       name: Install angularcli 
       command: sudo npm install -g @angular/[email protected] 
      - run: 
       name: Run unit tests with karma 
       command: ng test 
      - store_test_results: 
       path: test-results.xml 

除了上面的腳本,設置singleRun標誌爲true karma.conf.js singleRun: true讓噶運行所有的測試用例後退出。如果沒有此標誌,Karma將以連續模式運行,則ng test停止不會結束,超時後測試將失敗。