2017-09-04 1 views
0

Ich habe ein Projekt in Angular cli erstellt. Ich möchte CI mit circle ci machen. Das Projekt wird in Bitbucket hochgeladen und von Circle CI korrekt ausgewählt. Der Build schlägt jedoch fehl. Es folgt die config.yml (gepflückt CircleCI der sample.yml und änderte es (hinzugefügt ng Test). Ich gehe davon aus, dass die package.json von angularcli zuvor erstellt würde AngularCLI installieren.npm install scheitert im circle ci (angular cli project)

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 

Fehler

#!/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 

ich sehe die folgende Zeile nach npm install Schritt so I Prozess-nexttick-args nehme bereits installiert. [email protected] node_modules/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-arg

Antwort

0

nach KONFIGURAT Ion hat für mich funktioniert. Ich habe CircleCI 2.0 verwendet. Ich verfeinere es immer noch und könnte die Antwort in Zukunft ändern.

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 

Zusätzlich zu den oben Skript, in karma.conf.js singleRun Flag auf true gesetzt singleRun: true so dass Karma beendet, nachdem alle Testfälle laufen. Ohne dieses Flag läuft Karma im kontinuierlichen Modus, der ng test-Stop wird nicht beendet und der Test schlägt nach dem Timeout fehl.

Verwandte Themen