Add separate build and test stages.
This commit is contained in:
parent
987f8edebe
commit
0745c3089d
@ -1,11 +1,14 @@
|
||||
stages:
|
||||
- install
|
||||
- build_and_test
|
||||
- build
|
||||
- test
|
||||
|
||||
variables:
|
||||
PROJECT_PATH: "$CI_PROJECT_DIR"
|
||||
APP_OUTPUT_PATH: "$CI_PROJECT_DIR/artifacts/app"
|
||||
OUTPUT_PATH: "$CI_PROJECT_DIR/artifacts"
|
||||
APP_OUTPUT_PATH: "$CI_PROJECT_DIR/dist/cic-staff-client"
|
||||
OUTPUT_PATH: "$CI_PROJECT_DIR/dist"
|
||||
CLI_VERSION: 10.2.0
|
||||
|
||||
install_dependencies:
|
||||
stage: install
|
||||
@ -41,6 +44,7 @@ build_app:
|
||||
- cp $PROJECT_PATH/Dockerfile $APP_OUTPUT_PATH
|
||||
artifacts:
|
||||
name: "cic-staff-client-pipeline"
|
||||
expire_in: 30 days
|
||||
paths:
|
||||
- $APP_OUTPUT_PATH
|
||||
cache:
|
||||
@ -77,3 +81,47 @@ test_app:
|
||||
paths:
|
||||
- node_modules
|
||||
policy: pull
|
||||
|
||||
build:
|
||||
stage: build
|
||||
image: trion/ng-cli
|
||||
tags:
|
||||
- docker
|
||||
before_script:
|
||||
- npm ci
|
||||
script:
|
||||
- ng build --prod
|
||||
artifacts:
|
||||
expire_in: 1 days
|
||||
paths:
|
||||
- dist/cic-staff-client
|
||||
|
||||
test:karma:
|
||||
stage: test
|
||||
image: trion/ng-cli-karma:$(CLI_VERSION)
|
||||
allow_failure: false
|
||||
tags:
|
||||
- docker
|
||||
script:
|
||||
- ng test --code-coverage --progress false --watch false
|
||||
coverage: '/Lines \W+: (\d+\.\d+)%.*/'
|
||||
artifacts:
|
||||
paths:
|
||||
- coverage/
|
||||
|
||||
test:e2e:
|
||||
stage: test
|
||||
image: trion/ng-cli-e2e:$(CLI_VERSION)
|
||||
allow_failure: false
|
||||
tags:
|
||||
- docker
|
||||
script:
|
||||
- ng e2e
|
||||
|
||||
test:nglint:
|
||||
stage: test
|
||||
image: trion/ng-cli:$(CLI_VERSION)
|
||||
tags:
|
||||
- docker
|
||||
script:
|
||||
- ng lint
|
||||
|
@ -17,7 +17,7 @@
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"outputPath": "artifacts/app",
|
||||
"outputPath": "dist/cic-staff-client",
|
||||
"index": "src/index.html",
|
||||
"main": "src/main.ts",
|
||||
"polyfills": "src/polyfills.ts",
|
||||
|
@ -17,7 +17,7 @@ module.exports = function (config) {
|
||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
||||
},
|
||||
coverageIstanbulReporter: {
|
||||
dir: require('path').join(__dirname, './artifacts/coverage'),
|
||||
dir: require('path').join(__dirname, './coverage/cic-staff-client'),
|
||||
reports: ['html', 'lcovonly', 'text-summary', 'cobertura'],
|
||||
fixWebpackSourcePaths: true,
|
||||
'report-config': {
|
||||
@ -27,7 +27,7 @@ module.exports = function (config) {
|
||||
},
|
||||
},
|
||||
junitReporter: {
|
||||
outputDir: 'artifacts/tests',
|
||||
outputDir: require('path').join(__dirname, './tests/cic-staff-client'),
|
||||
outputFile: 'junit-test-results.xml',
|
||||
useBrowserName: false
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user