forked from AcaMate/AcaMate_API
75 lines
2.8 KiB
Groovy
75 lines
2.8 KiB
Groovy
pipeline {
|
|
agent any
|
|
environment {
|
|
DOCKER_RELEASE_CONTAINER = 'acamate-back-build-release'
|
|
DOCKER_DEBUG_CONTAINER = 'acamate-back-build-debug'
|
|
DOCKER_RELEASE_RUN_CONTAINER = 'acamate-run-release'
|
|
DOCKER_DEBUG_RUN_CONTAINER = 'acamate-run-debug'
|
|
|
|
APP_VOLUME = '/src'
|
|
}
|
|
stages {
|
|
stage('Clear Repository') {
|
|
steps {
|
|
script {
|
|
sh """
|
|
echo 'Clearing Front directory'
|
|
docker run --rm -v /volume1/AcaMate/PROJECT/Application/Back:/back alpine \
|
|
sh -c "find /back -mindepth 1 -maxdepth 1 \\
|
|
! -name 'private' \\
|
|
! -name 'publish' \\
|
|
! -name 'wwwroot' \\
|
|
-exec rm -rf {} +"
|
|
echo 'Clean complete'
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
stage('Clone Repository') {
|
|
steps {
|
|
git url: 'https://git.ipstein.myds.me/AcaMate/AcaMate_API.git', branch: env.GIT_BRANCH
|
|
}
|
|
}
|
|
stage('Deploy') {
|
|
steps {
|
|
script {
|
|
if (env.GIT_BRANCH == 'main') {
|
|
// main 브랜치용 작업
|
|
def containerId = sh(script: "docker ps -qf 'name=${DOCKER_RELEASE_RUN_CONTAINER}'", returnStdout: true).trim()
|
|
if (containerId) {
|
|
sh "docker cp ${WORKSPACE}/. ${containerId}:${APP_VOLUME}"
|
|
sh "docker start ${DOCKER_RELEASE_CONTAINER}"
|
|
} else {
|
|
error "Docker container ${DOCKER_RELEASE_RUN_CONTAINER} not found"
|
|
}
|
|
} else if (env.GIT_BRANCH == 'debug') {
|
|
// debug 브랜치용 작업
|
|
def containerId = sh(script: "docker ps -qf 'name=${DOCKER_DEBUG_RUN_CONTAINER}'", returnStdout: true).trim()
|
|
if (containerId) {
|
|
sh "docker cp ${WORKSPACE}/. ${containerId}:${APP_VOLUME}"
|
|
sh "docker start ${DOCKER_DEBUG_CONTAINER}"
|
|
} else {
|
|
error "Docker container ${DOCKER_DEBUG_RUN_CONTAINER} not found"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
always {
|
|
script {
|
|
def containerId = sh(script: "docker ps -qf 'name=${env.GIT_BRANCH == 'main' ? DOCKER_RELEASE_CONTAINER : DOCKER_DEBUG_CONTAINER}'", returnStdout: true).trim()
|
|
if (containerId) {
|
|
sh "docker logs ${containerId}"
|
|
} else {
|
|
echo "Docker container not found"
|
|
}
|
|
}
|
|
}
|
|
failure {
|
|
echo "Build failed. Check the console output for details."
|
|
}
|
|
}
|
|
} |