본문 바로가기
LEARN/NEED

[Jenkins] 메이븐 프로젝트 파이프라인 스크립트 재작성

by 아이엠제니 2024. 2. 13.

 

os: ubuntu 22.04.3 LTS


 

 

 

처음 Jenkins를 접하고, 나의 뇌피셜로 파이프라인을 작성했었다.

조건의 조건으로 스크립트가 정신이 없었다.

나중에 재택근무 하시는 직원분이 회사에 오셔서 여쭤봤는데!

굳이 톰캣을 shutdown 할 필요가 없다고 하셨다.

`tomcat/webapps`에 war 파일을 넣으면 자동 배포가 된다는 것이었다. (두둥...)

 

이게 가능한지를 확인할 수 있는 방법은 이러하다.

sudo vi tomcat/conf/server.xml

`tomcat` 디렉터리명은 다를 수 있다.

`server.xml` 파일의 맨 아래로 내려가보자.

 

<Host>에 `autoDeploy`가 있는데, 이게 true로 되어 있으면 자동 배포가 가능한 것이었다.

 

 

pipeline {
    agent any
    
    
    tools {
        // Install the Maven version configured as "M3" and add it to the path.
        maven "maven"
    }

    stages {
        stage('git clone') {
            steps {
                // Get some code from a GitHub repository
                git branch: 'main', credentialsId: 'test', url: 'https://github.com/test/test.git'
                
            } 
        }
        
        stage('Build') {
            steps {
                // Run Maven on a Unix agent.
                sh "mvn clean compile install -Dmaven.test.skip=true"
                echo "------------------------- 빌드 완료 -------------------------"
            }
        }
        
                stage('deploy') {
            steps {
                sh "sudo cp ${env.JENKINS_HOME}/build-deploy/target/test.war ${TOMCAT_HOME}/webapps/"
                echo "------------------------- war 파일 이동 완료 -------------------------"
                

                // sleep 10
                echo "------------------------- 배포 완료 -------------------------"
            }
        }
    }
}

 

이렇게 간결하게 수정이 되었다.

 

 

 

수정 전 / 수정 후

수정 전과 수정 후를 비교해 보면 길이부터 차이가 난다.

 

CI/CD를 몰랐던 때에는 빌드도 배포도 수작업으로 했는데!

Jenkins를 이용하니, 쉽게 빌드와 배포가 되어서 너무 편하다.

굳이 내가 빌드를 하지 않아도 되니, 세상에 이렇게 편할 수가!

다만 한 달 만에 Jenkins 작업을 다시 하면서, 만났던 에러가 있다.

그것도 나중에 참고하기 위해 남겨야겠다.

 

 

 

300x250