Files
workavia-calendar-front/Jenkinsfile
T
Camille Moussu d6e464afad [#421] added eslint check to CI (#534)
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
2026-02-10 10:41:37 +01:00

75 lines
1.7 KiB
Groovy

pipeline {
agent any
environment {
DOCKER_HUB_CREDENTIAL = credentials('dockerHub')
GITHUB_CREDENTIAL = credentials('github')
}
tools {
nodejs 'nodejs_24'
}
options {
// Configure an overall timeout for the build.
timeout(time: 1, unit: 'HOURS')
disableConcurrentBuilds()
}
stages {
stage('Compile') {
steps {
sh '''
cat > .npmrc << EOF
@linagora:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=${GITHUB_CREDENTIAL_PSW}
EOF
'''
sh 'npm install'
}
}
stage('Test') {
steps {
sh 'npm run test'
}
}
stage('Check Lint') {
steps {
sh 'npm run lint'
}
}
stage('Check Formatting') {
steps {
sh 'npx prettier --check .'
}
}
stage('Deploy docker images') {
when {
anyOf {
branch 'main'
buildingTag()
}
}
steps {
script {
env.DOCKER_TAG = 'branch-master'
if (env.TAG_NAME) {
env.DOCKER_TAG = env.TAG_NAME
}
echo "Docker tag: ${env.DOCKER_TAG}"
sh 'npm run build'
sh 'docker build -t linagora/twake-calendar-web:$DOCKER_TAG .'
sh 'docker login -u $DOCKER_HUB_CREDENTIAL_USR -p $DOCKER_HUB_CREDENTIAL_PSW'
sh 'docker push linagora/twake-calendar-web:$DOCKER_TAG'
}
}
}
}
post {
always {
deleteDir() /* clean up our workspace */
}
}
}