CI를 통해 자동으로 (테스트 및) 빌드가 될 수 있는 환경을 구축해 개발에만 집중할 수 있도록 해보자.
CI(Continuous Integration)
: 지속적 통합 (테스트, 빌드 자동화)CD(Continuous Deployment)
: 지속적 배포, CI를 통해 운영 서버에 무중단 배포까지 진행되는 과정이 지속적 배포이다.Travis CI는 Github에서 제공하는 CI를 위한 툴이다.
Travis CI를 사용하면 Github에 커밋
이 될 때 마다 사용자가 따로 빌드를 하지 않아도 자동으로 테스팅
을 하고, 빌드를 완성
해 결과를 알려준다.
이 포스트에선 Travis CI에서 자동 배포하고자 하는 repository를 연동해보겠다.
Travis CI에 들어가서 깃허브 계정으로 로그인을 한 뒤, 오른쪽 위에 뜨는 계정 > Settings
에 들어간다.
이후 repository에서 대상이 될 repository를 선택한다.
repository에 들어갔을 때 다음과 같은 창이 뜨면 설정이 완료된 것이다.
travia ci의 상세한 설정은 프로젝트에서 .travis.yml
파일을 생성해 할 수 있다.
프로젝트의 build.gradle
과 같은 위치에서 .travis.yml
을 생성한 후, 다음의 코드를 추가한다.
language: java
jdk:
- openjdk11
branches:
only:
- master
# Travis CI 서버의 Home
cache:
directories:
- '$HOME/.m2/repository'
- '$HOME/.gradle'
script: "./gradlew clean build"
notifications:
email:
recipients:
- xxxxx@naver.com
Spring boot에서 사용하는 jdk 버전을 입력한다.
어느 브랜치
가 푸시될 때 travis ci를 수행할 지 지정이후 github repository에 푸시를 한다.
그리고 다시 travis ci에 들어가서 repo를 확인해보면 다음과 같이 나올 것이다.
또 성공을 알리는 메일도 함께 도착한다.