From ed9fc32973182a6a507b8cb61c8c71ac4dd64301 Mon Sep 17 00:00:00 2001 From: carlosjr Date: Tue, 29 Mar 2022 12:53:02 +0200 Subject: [PATCH 1/9] jest-ci 1st attempt --- jenkinsfile | 138 ++++++++++++++++++++++++++++++++++++++++++++++ jest.config.js | 1 + package-lock.json | 64 ++++++++++++++++++--- package.json | 8 ++- 4 files changed, 200 insertions(+), 11 deletions(-) create mode 100644 jenkinsfile diff --git a/jenkinsfile b/jenkinsfile new file mode 100644 index 000000000..3ed739a23 --- /dev/null +++ b/jenkinsfile @@ -0,0 +1,138 @@ +#!/usr/bin/env groovy +pipeline { + agent any + options { + disableConcurrentBuilds() + } + environment { + PROJECT_NAME = 'salix-frontend' + STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}" + } + stages { + // stage('Checkout') { + // steps { + // script { + // switch (env.BRANCH_NAME) { + // case 'master': + // env.NODE_ENV = 'production' + // env.BACK_REPLICAS = 4 + // break + // case 'test': + // env.NODE_ENV = 'test' + // env.BACK_REPLICAS = 2 + // break + // } + // } + // configFileProvider([ + // configFile(fileId: "salix.groovy", + // variable: 'GROOVY_FILE') + // ]) { + // load env.GROOVY_FILE + // } + // setEnv() + // } + // } + stage('Install') { + environment { + NODE_ENV = "" + } + steps { + nodejs('node-v14') { + // sh 'npm install @quasar/cli' + sh 'npm install --no-audit --prefer-offline' + } + } + } + stage('Test') { + when { not { anyOf { + branch 'test' + branch 'master' + }}} + environment { + NODE_ENV = "" + } + parallel { + stage('Frontend') { + steps { + nodejs('node-v14') { + sh 'npm run test:unit:ci' + } + } + } + // stage('Backend') { + // steps { + // nodejs('node-v14') { + // sh 'gulp launchBackTest --ci' + // } + // } + // } + } + } + // stage('Build') { + // when { anyOf { + // branch 'test' + // branch 'master' + // }} + // environment { + // CREDENTIALS = credentials('docker-registry') + // } + // steps { + // nodejs('node-v14') { + // sh 'gulp build' + // } + // dockerBuild() + // } + // } + // stage('Deploy') { + // when { anyOf { + // branch 'test' + // branch 'master' + // }} + // environment { + // DOCKER_HOST = "${env.SWARM_HOST}" + // } + // steps { + // sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}" + // } + // } + // stage('Database') { + // when { anyOf { + // branch 'test' + // branch 'master' + // }} + // steps { + // configFileProvider([ + // configFile(fileId: "config.${env.NODE_ENV}.ini", + // variable: 'MYSQL_CONFIG') + // ]) { + // sh 'cp "$MYSQL_CONFIG" db/config.$NODE_ENV.ini' + // } + // sh 'db/import-changes.sh -f $NODE_ENV' + // } + // } + } + post { + always { + script { + if (!['master', 'test'].contains(env.BRANCH_NAME)) { + try { + junit 'junitresults.xml' + junit 'junit.xml' + } catch (e) { + echo e.toString() + } + } + // if (!env.COMMITTER_EMAIL || currentBuild.currentResult == 'SUCCESS') return; + // try { + // mail( + // to: env.COMMITTER_EMAIL, + // subject: "Pipeline: ${env.JOB_NAME} (${env.BUILD_NUMBER}): ${currentBuild.currentResult}", + // body: "Check status at ${env.BUILD_URL}" + // ) + // } catch (e) { + // echo e.toString() + // } + } + } + } +} \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index 6d4c31db9..11a80b2dc 100755 --- a/jest.config.js +++ b/jest.config.js @@ -20,6 +20,7 @@ module.exports = { // cache: false, // verbose: true, // watch: true, + reporters: ['default', 'jest-junit'], collectCoverage: false, coverageDirectory: '/test/jest/coverage', collectCoverageFrom: [ diff --git a/package-lock.json b/package-lock.json index 89b07154a..5df4bf489 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@quasar/extras": "^1.0.0", "axios": "^0.21.1", "core-js": "^3.6.5", + "jest-junit": "^13.0.0", "quasar": "^2.0.0", "vue": "^3.0.0", "vue-i18n": "^9.0.0", @@ -4378,7 +4379,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -11594,6 +11594,31 @@ "node": ">=8" } }, + "node_modules/jest-junit": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-13.0.0.tgz", + "integrity": "sha512-JSHR+Dhb32FGJaiKkqsB7AR3OqWKtldLd6ZH2+FJ8D4tsweb8Id8zEVReU4+OlrRO1ZluqJLQEETm+Q6/KilBg==", + "dependencies": { + "mkdirp": "^1.0.4", + "strip-ansi": "^6.0.1", + "uuid": "^8.3.2", + "xml": "^1.0.1" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/jest-junit/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-leak-detector": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", @@ -17665,7 +17690,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -18784,7 +18808,6 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, "bin": { "uuid": "dist/bin/uuid" } @@ -19873,6 +19896,11 @@ } } }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=" + }, "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -23269,8 +23297,7 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", @@ -28702,6 +28729,24 @@ } } }, + "jest-junit": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-13.0.0.tgz", + "integrity": "sha512-JSHR+Dhb32FGJaiKkqsB7AR3OqWKtldLd6ZH2+FJ8D4tsweb8Id8zEVReU4+OlrRO1ZluqJLQEETm+Q6/KilBg==", + "requires": { + "mkdirp": "^1.0.4", + "strip-ansi": "^6.0.1", + "uuid": "^8.3.2", + "xml": "^1.0.1" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + } + } + }, "jest-leak-detector": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", @@ -33342,7 +33387,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -34161,8 +34205,7 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { "version": "2.3.0", @@ -34965,6 +35008,11 @@ "dev": true, "requires": {} }, + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=" + }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", diff --git a/package.json b/package.json index ed712847b..1c4a5906a 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "test": "echo \"See package.json => scripts for available tests.\" && exit 0", "test:unit:coverage": "jest --coverage", "test:unit": "jest --watchAll", + "test:unit:ci": "jest --ci --reporters=default --reporters=jest-junit --maxWorkers=2", "test:e2e": "cross-env E2E_TEST=true start-test \"quasar dev\" http-get://localhost:8080 \"cypress open --config-file cypress.json\"", "test:e2e:ci": "cross-env E2E_TEST=true start-test \"quasar dev\" http-get://localhost:8080 \"cypress run\"", "serve:test:coverage": "quasar serve test/jest/coverage/lcov-report/ --port 8788", @@ -34,12 +35,13 @@ "@types/node": "^12.20.21", "@typescript-eslint/eslint-plugin": "^5.10.0", "@typescript-eslint/parser": "^5.10.0", + "jest-junit": "^13.0.0", "eslint": "^7.14.0", "eslint-config-prettier": "^8.1.0", + "eslint-plugin-cypress": "^2.11.3", "eslint-plugin-jest": "^25.2.2", "eslint-plugin-vue": "^7.0.0", - "prettier": "^2.5.1", - "eslint-plugin-cypress": "^2.11.3" + "prettier": "^2.5.1" }, "browserslist": [ "last 10 Chrome versions", @@ -57,4 +59,4 @@ "npm": ">= 6.13.4", "yarn": ">= 1.21.1" } -} +} \ No newline at end of file From 9defd91e08b09be550ec5dfa93350c4387b47eb6 Mon Sep 17 00:00:00 2001 From: carlosjr Date: Tue, 29 Mar 2022 12:59:57 +0200 Subject: [PATCH 2/9] renamed Jenkinsfile --- jenkinsfile => Jenkinsfile | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jenkinsfile => Jenkinsfile (100%) diff --git a/jenkinsfile b/Jenkinsfile similarity index 100% rename from jenkinsfile rename to Jenkinsfile From e5157aae6d79938f771c3941c07c51c8277cd2b5 Mon Sep 17 00:00:00 2001 From: carlosjr Date: Tue, 29 Mar 2022 14:49:13 +0200 Subject: [PATCH 3/9] updated package-lock --- package-lock.json | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 30a52d640..19e6becc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,7 @@ "eslint-plugin-jest": "^25.2.2", "eslint-plugin-vue": "^8.5.0", "eslint-webpack-plugin": "^3.1.1", + "jest-junit": "^13.0.0", "prettier": "^2.5.1" }, "engines": { @@ -4318,6 +4319,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -11544,6 +11546,7 @@ "version": "13.0.0", "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-13.0.0.tgz", "integrity": "sha512-JSHR+Dhb32FGJaiKkqsB7AR3OqWKtldLd6ZH2+FJ8D4tsweb8Id8zEVReU4+OlrRO1ZluqJLQEETm+Q6/KilBg==", + "dev": true, "dependencies": { "mkdirp": "^1.0.4", "strip-ansi": "^6.0.1", @@ -11558,6 +11561,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -17542,6 +17546,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -18634,6 +18639,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, "bin": { "uuid": "dist/bin/uuid" } @@ -19727,7 +19733,8 @@ "node_modules/xml": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=" + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true }, "node_modules/xml-name-validator": { "version": "3.0.0", @@ -23092,7 +23099,8 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -28516,6 +28524,7 @@ "version": "13.0.0", "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-13.0.0.tgz", "integrity": "sha512-JSHR+Dhb32FGJaiKkqsB7AR3OqWKtldLd6ZH2+FJ8D4tsweb8Id8zEVReU4+OlrRO1ZluqJLQEETm+Q6/KilBg==", + "dev": true, "requires": { "mkdirp": "^1.0.4", "strip-ansi": "^6.0.1", @@ -28526,7 +28535,8 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true } } }, @@ -33083,6 +33093,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -33884,7 +33895,8 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true }, "v8-compile-cache": { "version": "2.3.0", @@ -34694,7 +34706,8 @@ "xml": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=" + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true }, "xml-name-validator": { "version": "3.0.0", From 87d265276a0eea286f6d0699718548bb4dd06568 Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 30 Mar 2022 15:29:20 +0200 Subject: [PATCH 4/9] Deploy frontend stack --- Dockerfile | 5 ++ Jenkinsfile | 127 ++++++++++++++++++--------------------------- docker-compose.yml | 9 ++++ 3 files changed, 65 insertions(+), 76 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..292393dc8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM node:stretch-slim +RUN npm install -g @quasar/cli +WORKDIR /app +COPY dist/spa ./ +CMD ["quasar", "serve", "./", "--history"] \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index 3ed739a23..84b09f8b3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -9,36 +9,36 @@ pipeline { STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}" } stages { - // stage('Checkout') { - // steps { - // script { - // switch (env.BRANCH_NAME) { - // case 'master': - // env.NODE_ENV = 'production' - // env.BACK_REPLICAS = 4 - // break - // case 'test': - // env.NODE_ENV = 'test' - // env.BACK_REPLICAS = 2 - // break - // } - // } - // configFileProvider([ - // configFile(fileId: "salix.groovy", - // variable: 'GROOVY_FILE') - // ]) { - // load env.GROOVY_FILE - // } - // setEnv() - // } - // } + stage('Checkout') { + steps { + script { + switch (env.BRANCH_NAME) { + // case 'master': + // env.NODE_ENV = 'production' + // env.BACK_REPLICAS = 1 + // break + case 'jest-ci': + env.NODE_ENV = 'test' + env.BACK_REPLICAS = 1 + break + } + } + // configFileProvider([ + // configFile(fileId: "salix.groovy", + // variable: 'GROOVY_FILE') + // ]) { + // load env.GROOVY_FILE + // } + setEnv() + } + } stage('Install') { environment { NODE_ENV = "" } steps { nodejs('node-v14') { - // sh 'npm install @quasar/cli' + sh 'npm install -g @quasar/cli' sh 'npm install --no-audit --prefer-offline' } } @@ -68,48 +68,33 @@ pipeline { // } } } - // stage('Build') { - // when { anyOf { - // branch 'test' - // branch 'master' - // }} - // environment { - // CREDENTIALS = credentials('docker-registry') - // } - // steps { - // nodejs('node-v14') { - // sh 'gulp build' - // } - // dockerBuild() - // } - // } - // stage('Deploy') { - // when { anyOf { - // branch 'test' - // branch 'master' - // }} - // environment { - // DOCKER_HOST = "${env.SWARM_HOST}" - // } - // steps { - // sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}" - // } - // } - // stage('Database') { - // when { anyOf { - // branch 'test' - // branch 'master' - // }} - // steps { - // configFileProvider([ - // configFile(fileId: "config.${env.NODE_ENV}.ini", - // variable: 'MYSQL_CONFIG') - // ]) { - // sh 'cp "$MYSQL_CONFIG" db/config.$NODE_ENV.ini' - // } - // sh 'db/import-changes.sh -f $NODE_ENV' - // } - // } + stage('Build') { + when { anyOf { + branch 'jest-ci' + // branch 'master' + }} + environment { + CREDENTIALS = credentials('docker-registry') + } + steps { + nodejs('node-v14') { + sh 'quasar build' + } + dockerBuild() + } + } + stage('Deploy') { + when { anyOf { + branch 'jest-ci' + // branch 'master' + }} + environment { + DOCKER_HOST = "${env.SWARM_HOST}" + } + steps { + sh "docker stack deploy --with-registry-auth --compose-file docker-compose.yml ${env.STACK_NAME}" + } + } } post { always { @@ -122,16 +107,6 @@ pipeline { echo e.toString() } } - // if (!env.COMMITTER_EMAIL || currentBuild.currentResult == 'SUCCESS') return; - // try { - // mail( - // to: env.COMMITTER_EMAIL, - // subject: "Pipeline: ${env.JOB_NAME} (${env.BUILD_NUMBER}): ${currentBuild.currentResult}", - // body: "Check status at ${env.BUILD_URL}" - // ) - // } catch (e) { - // echo e.toString() - // } } } } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..bdc05e6eb --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.7' +services: + main: + image: salix-front + build: + context: . + dockerfile: ./Dockerfile + ports: + - 4000 \ No newline at end of file From db01747ca3fe4d751b436540daca9f57ea652a56 Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 30 Mar 2022 15:39:46 +0200 Subject: [PATCH 5/9] Updated image registry path --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index bdc05e6eb..03d390e55 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.7' services: main: - image: salix-front + image: registry.verdnatura.es/salix-frontend:${BRANCH_NAME:?} build: context: . dockerfile: ./Dockerfile From c7fdf8ef2322fc83eddd47ad20c8abe3ac9ad073 Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 30 Mar 2022 15:45:38 +0200 Subject: [PATCH 6/9] Added deploy instruction --- docker-compose.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 03d390e55..0ab098249 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,4 +6,9 @@ services: context: . dockerfile: ./Dockerfile ports: - - 4000 \ No newline at end of file + - 4000 + deploy: + replicas: 2 + placement: + constraints: + - node.role == worker \ No newline at end of file From fcd0d1fc9f930db2326163cb99cec1ddc0d3d3b9 Mon Sep 17 00:00:00 2001 From: joan Date: Wed, 30 Mar 2022 15:52:36 +0200 Subject: [PATCH 7/9] Listen hostname localhost --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 292393dc8..a44836d35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,4 +2,4 @@ FROM node:stretch-slim RUN npm install -g @quasar/cli WORKDIR /app COPY dist/spa ./ -CMD ["quasar", "serve", "./", "--history"] \ No newline at end of file +CMD ["quasar", "serve", "./", "--history", "--hostname", "localhost"] \ No newline at end of file From 44021ecd9daa6b7327e9184a2d73983a112c6f0f Mon Sep 17 00:00:00 2001 From: joan Date: Thu, 31 Mar 2022 10:10:40 +0200 Subject: [PATCH 8/9] Removed boilerplate code --- Jenkinsfile | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 84b09f8b3..3ecb7635c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,12 +23,6 @@ pipeline { break } } - // configFileProvider([ - // configFile(fileId: "salix.groovy", - // variable: 'GROOVY_FILE') - // ]) { - // load env.GROOVY_FILE - // } setEnv() } } @@ -59,18 +53,11 @@ pipeline { } } } - // stage('Backend') { - // steps { - // nodejs('node-v14') { - // sh 'gulp launchBackTest --ci' - // } - // } - // } } } stage('Build') { when { anyOf { - branch 'jest-ci' + branch 'test' // branch 'master' }} environment { @@ -85,7 +72,7 @@ pipeline { } stage('Deploy') { when { anyOf { - branch 'jest-ci' + branch 'test' // branch 'master' }} environment { From 4fb5d46a52787d96ccf4292197a582f3e7cda2f8 Mon Sep 17 00:00:00 2001 From: joan Date: Thu, 31 Mar 2022 10:12:56 +0200 Subject: [PATCH 9/9] Renamed branch name --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3ecb7635c..a5cfbf673 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,7 +17,7 @@ pipeline { // env.NODE_ENV = 'production' // env.BACK_REPLICAS = 1 // break - case 'jest-ci': + case 'test': env.NODE_ENV = 'test' env.BACK_REPLICAS = 1 break