Я новичок в angular (6 недель).
Контекст
Мое веб-приложение работает нормально, я могу выполнить тест локально с Chrome
или ChromeHeadLess
(технически это, кажется, хром). Кажется, что он может не захватить с первой попытки.
Я следовал этому уроку , чтобы запустить Gitlab CI.
Проект (внешний интерфейс) расположен внутри Front, который становится front на gitlab CI, понятия не имею, почему.
Проблема:
Фаза тестирования Git не выполнена (время ожидания). Браузер кармы не захватывается во время задания gitlab.
Анализ:
Конфликт кармы работает локально, путь браузера кармы найден. Были протестированы другие изображения, кроме node
, но они не работали по другим причинам (отсутствие опыта). Все протестированные конфигурации Karma (включая npm one) не дали другого результата.
Root Причина:
Gitlab ci config имеет проблемы: на основе узла Chrome не найден. Я почти уверен, что есть проблема после фазы сборки (успешно). Это может быть копия.
Конфигурация gitlab CI и Karma
image: node:latest
before_script :
#this is line 96 in the pipeline log
- pwd
- ls
- cd front
stages:
- build
- test
cache:
paths:
- front/node_modules/
install_dependencies:
stage: build
script:
- npm install
artifacts:
paths:
- front/node_modules/
testing_testing:
stage: test
script: npm test
// 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 = require('puppeteer').executablePath()
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: {
dir: require('path').join(__dirname, './coverage/Front'),
reports: ['html', 'lcovonly', 'text-summary'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browserSocketTimeout: 6000,
browserNoActivityTimeout: 6000,
captureTimeout: 6000,
browserDisconnectTimeout : 6000,
browserDisconnectTolerance : 1,
browsers: ['ChromeHeadless'],
customLaunchers:{
HeadlessChrome:{
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
singleRun: false,
restartOnFileChange: true
});
};
- Конвейеры 82 рабочих мест и конвейеры попытки
Распространенная ошибка:
> ng test
23 04 2020 22:34:17.529:WARN [karma]: No captured browser, open http://localhost:9876/
23 04 2020 22:34:17.572:INFO [karma-server]: Karma v4.1.0 server started at http://0.0.0.0:9876/
23 04 2020 22:34:17.573:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited
23 04 2020 22:34:17.576:INFO [launcher]: Starting browser ChromeHeadless
23 04 2020 22:34:23.579:WARN [launcher]: ChromeHeadless have not captured in 6000 ms, killing.
23 04 2020 22:34:26.807:WARN [launcher]: ChromeHeadless was not killed in 2000 ms, sending SIGKILL.
23 04 2020 22:34:27.133:WARN [karma]: No captured browser, open http://localhost:9876/
23 04 2020 22:34:28.808:WARN [launcher]: ChromeHeadless was not killed by SIGKILL in 2000 ms, continuing.
Running after_script
00:00
WARNING: Failed to inspect build container 63b16c112b7fd6ac743982e177e1dd409a144a5851ca0324c8bccb8a15d4c890 context deadline exceeded (docker_command.go:77:0s)