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