Gitlab CI Pipeline дает сбой задания и ошибку тайм-аута - PullRequest
0 голосов
/ 09 января 2020

Сборка Gitlab Pipeline не продолжается и застревает на chrome пусковой установке

09 01 2020 06: 47: 03.311: ПРЕДУПРЕЖДЕНИЕ [пусковая установка]: ChromeHeadless не перехватил за 60000 мс, убивая. 09 01 2020 06: 47: 05.315: WARN [launcher]: ChromeHeadless не был убит в 2000 мс, посылая SIGKILL. 09 01 2020 06: 47: 07.318: ПРЕДУПРЕЖДЕНИЕ [пусковая установка]: SIGKILL не убивал ChromeHeadless в течение 2000 мс, продолжая.

Здесь gitlab-ci.yml:

image: node:latest

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

before_script:
  - cd frontend
  - export CHROME_BIN=/usr/bin/google-chrome
  - 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 -g @angular/cli
  - npm uninstall --save-dev node-sass
  - npm install --save-dev node-sass@4.13.0
  - npm uninstall --silent
  - npm i --save-dev puppeteer
  - export NODE_ENV=development
  - npm install --silent
  - npm rebuild node-sass
  - npm i -D karma-chrome-launcher


stages:
  - test
  - build

job 1:
  stage: test
  script:
  - node_modules/.bin/ng test --browsers ChromeHeadless --watch=true

job 2:
  stage: test
  script: node_modules/.bin/ng e2e --browsers ChromeHeadless --watch=true
release_job:
  stage: build
  script: node_modules/.bin/ng build --prod --aot
  artifacts:
    name: "project-$CI_COMMIT_REF_NAME"
    paths:
      - dist/
  only:
    - tags

Вот это karma.config.js:

// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
const process = require('process');
process.env.CHROME_BIN='/usr/bin/google-chrome'
process.env.NO_PROXY = 'localhost, 0.0.0.0/4201, 0.0.0.0/9876';
module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: {
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      environment: 'dev'
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome_no_sandbox','Chrome_without_security','ChromeHeadless'],
    singleRun: false,
    customLaunchers: {
      Chrome_no_sandbox: {
        base: 'ChromeHeadless',
        flags: ['--no-sandbox']
      },
      Chrome_without_security: {
        base: 'Chrome',
        flags: ['--disable-web-security', '--disable-site-isolation-trials','--remote-debugging-port=9222']
      }
    },
    concurrency: Infinity,
    singleRun: true
  });
};
...