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