ci: refs #6695 Docker & Jenkinsfile fixes/refactor
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details

This commit is contained in:
Juan Ferrer 2025-02-20 16:46:26 +01:00
parent 36da27f14f
commit 3a82103b86
4 changed files with 39 additions and 25 deletions

43
Jenkinsfile vendored
View File

@ -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',

View File

@ -1,7 +0,0 @@
version: '3.7'
services:
main:
image: registry.verdnatura.es/salix-frontend:${VERSION:?}
build:
context: .
dockerfile: ./Dockerfile

View File

@ -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

View File

@ -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