84 lines
3.2 KiB
Plaintext
84 lines
3.2 KiB
Plaintext
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
DOCKER_IMAGE = 'caliverse/admintool-back-dev'
|
|
DOCKER_TAG = '1.0.0'
|
|
DOCKER_TAG_PRE = '1.0.0'
|
|
FILE_NAME = 'admintool_back_dev.tar'
|
|
DOCKER_NAME = 'admintool-back-dev'
|
|
DOCKER_PORT = '23450'
|
|
DOCKERFILE_NAME = 'Dockerfile.dev'
|
|
TMPDIR = '/tmp/jenkins'
|
|
BUILD_DIR = '/home/admintool/admintool-back'
|
|
}
|
|
|
|
stages {
|
|
stage('Gradle Build') {
|
|
steps {
|
|
script {
|
|
sh 'sed -i "s/\\r$//" gradlew'
|
|
sh 'chmod +x gradlew'
|
|
sh './gradlew clean build -x test -Pprofile=dev'
|
|
}
|
|
}
|
|
}
|
|
stage('MetaData Checkout'){
|
|
steps{
|
|
checkout([$class: 'SubversionSCM',
|
|
additionalCredentials: [],
|
|
excludedCommitMessages: '',
|
|
excludedRegions: '',
|
|
excludedRevprop: '',
|
|
excludedUsers: '',
|
|
filterChangelog: false,
|
|
ignoreDirPropChanges: false,
|
|
includedRegions: '',
|
|
locations: [
|
|
[
|
|
cancelProcessOnExternalsFail: true,
|
|
credentialsId: 'jenkins-build',
|
|
depthOption: 'infinity',
|
|
ignoreExternalsOption: true,
|
|
local: 'metadata',
|
|
remote: 'svn://10.20.20.9/trunk/Caliverse/DataAssets/MS2/JSON@HEAD'
|
|
]
|
|
],
|
|
quietOperation: true,
|
|
workspaceUpdater: [$class: 'UpdateUpdater']
|
|
])
|
|
}
|
|
}
|
|
stage('MeataData Transfer'){
|
|
steps{
|
|
dir(env.TMPDIR){
|
|
sh "rsync -av --exclude='.svn' ${WORKSPACE}/metadata/* /home/admintool/admintool-back/metadata/"
|
|
sh 'rm -rf ${WORKSPACE}/metadata'
|
|
}
|
|
}
|
|
}
|
|
stage('Docker Image Build & Deploy') {
|
|
steps {
|
|
script {
|
|
sh 'docker rmi $DOCKER_IMAGE:$DOCKER_TAG_PRE || true' //이전 이미지 삭제
|
|
sh 'docker rmi $DOCKER_IMAGE:$DOCKER_TAG || true'
|
|
sh 'docker build -f $DOCKERFILE_NAME -t $DOCKER_IMAGE:$DOCKER_TAG .'
|
|
echo 'Docker Image Create'
|
|
sh 'docker stop ${DOCKER_NAME} || true'
|
|
sh 'docker rm ${DOCKER_NAME} || true'
|
|
sh 'docker run -d \
|
|
-p $DOCKER_PORT:$DOCKER_PORT \
|
|
--name $DOCKER_NAME \
|
|
--restart=always \
|
|
--log-opt max-size=10m \
|
|
-e TZ=\${TZ:-Asia/Seoul} \
|
|
-v /home/admintool/admintool-back/metadata:/metadata:ro,cached \
|
|
-v /home/admintool/admintool-back/log:/logs \
|
|
-v /home/admintool/admintool-back/upload:/upload \
|
|
$DOCKER_IMAGE:$DOCKER_TAG'
|
|
echo 'Docker Run Complete'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |