|
|
|
pipeline {
|
|
|
|
agent {
|
|
|
|
node {
|
|
|
|
label 'willa'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stages {
|
|
|
|
stage('build for production') {
|
|
|
|
when {
|
|
|
|
branch 'master'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
sh 'docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}:latest --build-arg ssh_prv_key="$(cat /home/administrator/.ssh/id_rsa)" .'
|
|
|
|
sh 'cd /home/administrator/apps/${IMAGE_NAME}/;sudo ./BuildDocker'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('build for staging') {
|
|
|
|
when {
|
|
|
|
branch 'dev'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
sh 'docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}-staging:latest -f Dockerfile.staging --build-arg ssh_prv_key="$(cat /home/administrator/.ssh/id_rsa)" .'
|
|
|
|
sh 'docker build -t registry.willaspace.com/willaspace/${IMAGE_NAME}-staging-nginx:latest -f Dockerfile.nginx .'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('deploy to production') {
|
|
|
|
when {
|
|
|
|
branch 'master'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
sh 'cd /home/administrator/apps/${IMAGE_NAME}/ ; docker-compose up -d'
|
|
|
|
sh 'docker exec willaengine bash -c "COMPOSER=composer-prod.json composer update"'
|
|
|
|
sh 'docker exec willaengine service cron start'
|
|
|
|
sh 'docker exec willaengine php artisan config:cache'
|
|
|
|
sh 'docker exec willaengine php artisan route:cache'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('deploy to staging') {
|
|
|
|
when {
|
|
|
|
branch 'dev'
|
|
|
|
}
|
|
|
|
steps {
|
|
|
|
sh 'cd /apps/${IMAGE_NAME}-staging/ ; docker-compose up -d'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
environment {
|
|
|
|
IMAGE_NAME = 'willaengine'
|
|
|
|
}
|
|
|
|
}
|