[젠킨스 구축] 5. 자동 테스트 파이프라인 구축 - f-lab-edu/jshop GitHub Wiki
테스트코드를 자동으로 실행시키기 위한 파이프라인이다.
테스트를 실행하기 위해선 젠킨스에서 깃헙의 소스코드를 가져와, 벡엔드 디렉토리로 이동후 ./gradlew clean test
명령을 수행하면 된다.
파이프라인에서 소스코드 디렉토리 이동
테스트를 진행하기에 한가지 문제가 있었다.
현재 프로젝트 디렉토리는 아래 사진과 같이 fe
, be
디렉토리로 나뉘어져 있는 상태다.
테스트를 진행할 디렉토리는 be
디렉토리 이므로, 파이프라인에서 디렉토리를 이동하는 방법이 필요했다.
디렉토리를 이동하는 방법을 찾아 정말 삽질을 많이 했다.
삽질끝에 찾은 방법은 아래 코드와 같이 스크립트를 수행할 디렉토리를 dir(){}
블럭으로 감싸주는 것이였다.
stage('Test') {
steps {
script {
dir('be') {
sh 'ls -al'
sh './gradlew clean test'
}
}
}
}
테스트 진행
./gradlew clean test
해당 명령으로 테스트를 수행한다.
테스트를 끝내고 나면, build
디렉토리에서 테스트 결과또한 확인할 수 있다.
아래는 테스트 리포트를 웹서버에 띄워 확인해본 결과다.
정리
테스트 수행은 큰 어려움은 없었다.
깃헙에서 이벤트가 발생하면 웹훅으로 젠킨스로 이벤트를 전송하고, 젠킨스에서 저장소의 소스코드를 체크아웃해 테스트를 진행하기만 하면 됐다.
지금까지 만든 Jenkinsfile
은 이렇다.
pipeline {
agent any
stages {
stage('Test') {
steps {
script {
dir('be') {
echo 'Test'
sh './gradlew clean test'
}
}
}
}
}
}