카테고리 없음

젠킨스 pipeline script - subversion

피터JK 2025. 9. 30. 20:08
728x90

2025.09.24 - [개발] - 젠킨스 pipeline script, settings.xml, pom.xml 샘플

 

젠킨스 pipeline script, settings.xml, pom.xml 샘플

젠킨스 pipeline script 샘플pipeline { agent any tools { jdk 'jdk-8' // Jenkins에서 설정한 JDK 이름 maven 'maven 3.9.11' // Jenkins에서 설정한 Maven 이름 } stages { stage('Git Checkout') { steps { git branch: 'master', credentialsId: 'git

piterjk.tistory.com

 

pipeline {
    agent any
	tools {
		jdk 'jdk-8'				// Jenkins에서 설정한 JDK 이름
        maven 'maven 3.9.11' 	// Jenkins에서 설정한 Maven 이름
    }
    stages {
        stage('SVN Checkout') { // 👈 스테이지 이름을 SVN에 맞게 변경
            steps {
                // 기존 'git' 스텝을 'checkout' 스텝으로 대체하고 SVN 설정을 사용
                checkout([
                    $class: 'SubversionSCM',
                    locations: [[
                        // ⚠️ 이 부분을 사용하시는 SVN 정보로 반드시 변경해야 합니다.
                        credentialsId: 'svn-deploy-credentials-id', // 👈 Jenkins에 등록된 SVN 자격 증명 ID
                        depthOption: 'infinity',
                        ignoreExternalsOption: true,
                        local: '.', // 워크스페이스 루트에 체크아웃
                        remote: 'http://your-svn-server/svn/project' // 👈 SVN 저장소 URL
                    ]],
                    quietOperation: true,
                    workspaceUpdater: [$class: 'CheckoutUpdater'] 
                ])
            }
        }
        stage('Build') {
            steps {
                sh script:'mvn clean package --settings /var/jenkins_home/.m2/settings.xml'
            }
        }
		stage('Nexus Upload') {
            steps {
                sh 'mvn deploy --settings /var/jenkins_home/.m2/settings.xml'
            }
        }
		stage('Deploy to Tomcat') {
		    steps {
        		sh 'mvn tomcat7:redeploy -X --settings /var/jenkins_home/.m2/settings.xml'
		    }
		}
    }
}

 

 


Subversion (SVN) 체크아웃 파이프라인 요소 설명

요소 설명
checkout 소스 코드를 SCM(형상 관리) 시스템에서 Jenkins 워크스페이스로 가져오는 기본 파이프라인 스텝입니다.
$class: 'SubversionSCM' Jenkins에게 현재 SCM 유형이 Subversion임을 명시적으로 지정합니다.
credentialsId Jenkins의 Credentials 메뉴에 미리 등록해 둔 SVN 접근 계정의 고유 ID를 사용합니다.
remote 체크아웃할 SVN 저장소의 특정 경로를 지정합니다. (예: trunk, branches/feature 등)
local: '.' 체크아웃된 파일들이 저장될 로컬 디렉토리를 지정합니다. .은 워크스페이스의 루트 디렉토리를 의미합니다.
workspaceUpdater 체크아웃 전략을 지정합니다. $class: 'CheckoutUpdater'는 일반적으로 항상 깨끗하게 새로 체크아웃하는 전략을 의미합니다.
 
728x90