Implementing Continuous Integration(CI) with Jenkins - thought-corner/backend-roadmap GitHub Wiki

Jenkins์™€ Git Repository ์—ฐ๊ฒฐํ•˜๊ธฐ

  • SCM : Git
  • Repository URL : ๋ ˆํฌ์ง€ํ† ๋ฆฌ URL
  • Branch Specifier : */main ํ˜น์€ */master๊ณผ ๊ฐ™์€ ๋ฐฐํฌํ•  ๋ธŒ๋žœ์น˜๋ช…
  • Script Path : Jenkinsfile(๋Œ€์†Œ๋ฌธ์ž ์ฃผ์˜)
pipeline {
    agent any

    stages {
        stage('Build') {
            // Docker ์ปจํ…Œ์ด๋„ˆ์—์„œ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์œผ๋กœ ๋นŒ๋“œ ์‹คํ–‰
            agent {
                docker {
                    image 'gradle:8-jdk17'
                }
            }
            steps {
                // ์บ์‹œ ์ œ๊ฑฐ ํ›„ ๋นŒ๋“œํ•˜์—ฌ ๊นจ๋—ํ•œ ์ƒํƒœ ๋ณด์žฅ
                sh 'gradle clean build'
            }
        }
    }
}

Jenkins์—์„œ JUnit5 ํ…Œ์ŠคํŠธ ๋ณด๊ณ ์„œ ๊ฒŒ์‹œ

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh './gradlew clean build'
            }
        }
    }

    post {
        always {
            // JUnit ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ Jenkins ๋Œ€์‹œ๋ณด๋“œ์— ์ˆ˜์ง‘ ๋ฐ ํ‘œ์‹œ
            junit 'build/test-results/test/*.xml'
        }
    }
}

์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ ํ๋ฆ„ ์ •๋ฆฌ