From 7c7a9d4fd77ca084db9f226c7e557aebc48d6df4 Mon Sep 17 00:00:00 2001 From: "seonkyu.kim" Date: Fri, 12 Jul 2024 12:36:50 +0900 Subject: [PATCH] =?UTF-8?q?[=F0=9F=91=B7]=20Jenkins=20Test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6fa8120..a63a5ec 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,10 +1,42 @@ pipeline { - agent any - stages { - stage('stage 1') { - steps { - echo "Stein Front Push" - } - } - } - } \ No newline at end of file + agent any + + environment { + DOCKER_CONTAINER_NAME = 'stein-node' + APP_VOLUME_FRONT = '/home/node/front' // 컨테이너 내부 경로 + } + + stages { + stage('Clone Repository') { + steps { + git url: 'http://your-gitea-repo2-url.git', branch: 'main' + } + } + + stage('Build and Test') { + steps { + dir('front') { + sh 'npm install' + sh 'npm test' + } + } + } + + stage('Deploy') { + steps { + script { + // Docker 컨테이너 ID 가져오기 + def containerId = sh(script: "docker ps -qf 'name=${DOCKER_CONTAINER_NAME}'", returnStdout: true).trim() + if (containerId) { + // 컨테이너 내부로 파일 복사 + sh "docker cp ${WORKSPACE}/front/. ${containerId}:${APP_VOLUME_FRONT}" + // 컨테이너 재시작 + sh "docker restart ${containerId}" + } else { + error "Docker container ${DOCKER_CONTAINER_NAME} not found" + } + } + } + } + } +} \ No newline at end of file