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