본문 바로가기

프로그래밍/스프링 부트와 AWS로 구현하는 웹서비스

9.2 Travis CI 연동하기

Travis CI는 깃허브에서 제공하는 무료 CI 서비스입니다.

 

  • Travis CI 웹서비스 설정
    • - P. 323 참조
  • 프로젝트 설정
    • build.gradle과 같은 위치에 .travis.yml 생성
    • 다음과 같은 코드 추가

< .travis.yml >

 

language: java
jdk:
- openjdk8

branches:-----------------------------------------(1)
only:
- master

# Travis CI 서버의 Home
cache:-------------------------------------------(2)
directories:
-'$HOME/.m2/repository'
-'$HOME/.gradle'

script: "./gradlew clean build"-------------------(3)

# CI 실행 완료 시 메일로 알람
notifications:-------------------------------------(4)

email:
recipients:
- 본인 메일 설정

 

 

1. branches

- Travis CI를 어느 브랜치가 푸시될 때 수행할지 지정합니다.

- 현재 옵션은 오직 master 브랜치에 push 될 때만 수행합니다.

 

2. cache

- 그레이들을 통해 의존성을 받게 되면 이를 해당 디렉토리에 캐시하여, 같은 의존성은

다음 배포 때 부터 다시 받지 않도록 설정합니다.

 

3. script

- master 브랜치에 푸시되었을 때 수행하는 명령어입니다.

- 여기서는 프로젝트 내부에 둔 gradlew를 통해 clean & build를 수행합니다.

 

4. notificaitons

- Travis CI 실행 완료 시 자동으로 알람이 가도록 설정합니다.

 

commit 후 push를 하게 되면

Travis CI사이트를 통해서 passed가 되었는지 확인하면 등록한 이메일에 패스되었다는 메일이 오게 됩니다.

 

실패를 하게 되었는데 그 이유는 travis.yml 파일에 gradlew에 실행 권한이 없어서 발생하는 오류였습니다.

before_build:

- chmod +x gradlew

를 추가함으로써 build전 실행권한을 주게 되어 실행이 가능해졌습니다.

 

이와같이 매번 build전 실행권한을 주지 않으려면 배포하기전에 실행 권한을 주고 배포하면 됩니다.