ci: refs #6695 Docker & Jenkinsfile fixes/refactor
gitea/salix-front/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix-front/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
parent
36da27f14f
commit
3a82103b86
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env groovy
|
||||
|
||||
def PROTECTED_BRANCH
|
||||
def IS_LATEST
|
||||
|
||||
def BRANCH_ENV = [
|
||||
test: 'test',
|
||||
|
@ -10,16 +11,18 @@ def BRANCH_ENV = [
|
|||
|
||||
node {
|
||||
stage('Setup') {
|
||||
env.FRONT_REPLICAS = 1
|
||||
env.NODE_ENV = BRANCH_ENV[env.BRANCH_NAME] ?: 'dev'
|
||||
|
||||
PROTECTED_BRANCH = [
|
||||
'dev',
|
||||
'test',
|
||||
'master',
|
||||
'main',
|
||||
'beta'
|
||||
].contains(env.BRANCH_NAME)
|
||||
|
||||
IS_LATEST = ['master', 'main'].contains(env.BRANCH_NAME)
|
||||
|
||||
// https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
|
||||
echo "NODE_NAME: ${env.NODE_NAME}"
|
||||
echo "WORKSPACE: ${env.WORKSPACE}"
|
||||
|
@ -58,6 +61,16 @@ pipeline {
|
|||
PROJECT_NAME = 'lilium'
|
||||
}
|
||||
stages {
|
||||
stage('Version') {
|
||||
steps {
|
||||
script {
|
||||
def packageJson = readJSON file: 'package.json'
|
||||
def version = "${packageJson.version}-build${env.BUILD_ID}"
|
||||
writeFile(file: 'VERSION.txt', text: version)
|
||||
echo "VERSION: ${version}"
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Install') {
|
||||
environment {
|
||||
NODE_ENV = ""
|
||||
|
@ -90,7 +103,8 @@ pipeline {
|
|||
stage('E2E') {
|
||||
environment {
|
||||
CREDENTIALS = credentials('docker-registry')
|
||||
CI = "true"
|
||||
CI = 'true'
|
||||
DOCKER = 'true'
|
||||
TZ = 'Europe/Madrid'
|
||||
COMPOSE_PROJECT = "${PROJECT_NAME}-${env.BRANCH_NAME}-${env.BUILD_ID}".toLowerCase()
|
||||
COMPOSE_PARAMS = "--project-name ${env.COMPOSE_PROJECT} --project-directory . --file test/cypress/docker-compose.yml"
|
||||
|
@ -99,8 +113,8 @@ pipeline {
|
|||
script {
|
||||
sh "docker-compose ${env.COMPOSE_PARAMS} up -d"
|
||||
|
||||
def image = docker.build('lilium-dev', '-f docs/Dockerfile docs')
|
||||
image.inside("--network ${env.COMPOSE_PROJECT}_default -e TZ -e CI") {
|
||||
def image = docker.build('lilium-dev', '-f docs/Dockerfile.dev docs')
|
||||
image.inside("--network ${env.COMPOSE_PROJECT}_default -e TZ -e CI -e DOCKER") {
|
||||
sh 'cypress run --browser chromium --spec test/cypress/integration/claim/claimAction.spec.js'
|
||||
}
|
||||
}
|
||||
|
@ -119,25 +133,30 @@ pipeline {
|
|||
}
|
||||
environment {
|
||||
CREDENTIALS = credentials('docker-registry')
|
||||
VERSION = readFile 'VERSION.txt'
|
||||
}
|
||||
steps {
|
||||
sh 'quasar build'
|
||||
script {
|
||||
def packageJson = readJSON file: 'package.json'
|
||||
env.VERSION = "${packageJson.version}-build${env.BUILD_ID}"
|
||||
sh 'quasar build'
|
||||
|
||||
def baseImage = "salix-frontend:${env.VERSION}"
|
||||
def image = docker.build(baseImage, ".")
|
||||
docker.withRegistry("https://${env.REGISTRY}", 'docker-registry') {
|
||||
image.push()
|
||||
image.push(env.BRANCH_NAME)
|
||||
if (IS_LATEST) image.push('latest')
|
||||
}
|
||||
}
|
||||
dockerBuild()
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
when {
|
||||
expression { PROTECTED_BRANCH }
|
||||
}
|
||||
environment {
|
||||
VERSION = readFile 'VERSION.txt'
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
def packageJson = readJSON file: 'package.json'
|
||||
env.VERSION = "${packageJson.version}-build${env.BUILD_ID}"
|
||||
}
|
||||
withKubeConfig([
|
||||
serverUrl: "$KUBERNETES_API",
|
||||
credentialsId: 'kubernetes',
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
version: '3.7'
|
||||
services:
|
||||
main:
|
||||
image: registry.verdnatura.es/salix-frontend:${VERSION:?}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
|
@ -30,14 +30,16 @@ RUN apt-get update \
|
|||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN groupadd -r -g 1000 developer \
|
||||
&& useradd -r -u 1000 -g developer -m -d /home/developer developer
|
||||
USER developer
|
||||
RUN groupadd -r -g 1000 app \
|
||||
&& useradd -r -u 1000 -g developer -m -d /home/app app
|
||||
USER app
|
||||
|
||||
ENV SHELL bash
|
||||
ENV PNPM_HOME="/home/developer/.local/share/pnpm"
|
||||
ENV PNPM_HOME="/home/app/.local/share/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
|
||||
RUN pnpm setup \
|
||||
&& pnpm install --global cypress@13.6.6 \
|
||||
&& cypress install
|
||||
|
||||
WORKDIR /app
|
|
@ -8,13 +8,13 @@ services:
|
|||
depends_on:
|
||||
- db
|
||||
front:
|
||||
image: alexmorenovn/vndev:latest
|
||||
image: lilium-dev:latest
|
||||
command: quasar dev
|
||||
volumes:
|
||||
- .:/app
|
||||
working_dir: /app
|
||||
environment:
|
||||
- TZ
|
||||
- CI
|
||||
- DOCKER
|
||||
db:
|
||||
image: registry.verdnatura.es/salix-db:25.10.0-build1343
|
||||
|
|
Loading…
Reference in New Issue