From 893c8d882074dd545979d0c700a52c7f61b98cfe Mon Sep 17 00:00:00 2001 From: "seonkyu.kim" Date: Mon, 4 Nov 2024 17:40:41 +0900 Subject: [PATCH] =?UTF-8?q?[=F0=9F=93=9D]=20Jenkins=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..a093c4e --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,57 @@ +pipeline { + agent any + environment { + DOCKER_RELEASE_CONTAINER = 'acamate-back-build-release' + DOCKER_DEBUG_CONTAINER = 'acamate-back-build-debug' + + APP_VOLUME = '/src' + } + stages { + stage('Clone Repository') { + steps { + git url: 'https://git.ipstein.myds.me/AcaMate/AcaMate_Web.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_CONTAINER}'", returnStdout: true).trim() + if (containerId) { + sh "docker cp ${WORKSPACE}/. ${containerId}:${APP_VOLUME_FRONT}" + sh "docker start ${containerId}" + } else { + error "Docker container ${DOCKER_CONTAINER_NAME} not found" + } + } else if (env.GIT_BRANCH == 'debug') { + // debug 브랜치용 작업 + def containerId = sh(script: "docker ps -qf 'name=${DOCKER_DEBUG_CONTAINER}'", returnStdout: true).trim() + if (containerId) { + sh "docker cp ${WORKSPACE}/. ${containerId}:${APP_VOLUME_FRONT}" + sh "docker start ${containerId}" + } else { + error "Docker container ${DOCKER_CONTAINER_NAME} 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." + } + } +} \ No newline at end of file