SpringBoot에 CI/CD 적용하기(with Travis CI, AWS CodeDeploy)(2) - Travis CI - Github Repo 연동하기

zooju·2023년 3월 21일
0

CI를 통해 자동으로 (테스트 및) 빌드가 될 수 있는 환경을 구축해 개발에만 집중할 수 있도록 해보자.

1. CI & CD

  • CI(Continuous Integration): 지속적 통합 (테스트, 빌드 자동화)
  • CD(Continuous Deployment): 지속적 배포, CI를 통해 운영 서버에 무중단 배포까지 진행되는 과정이 지속적 배포이다.

2. Travis CI 연동

Travis CI는 Github에서 제공하는 CI를 위한 툴이다.

Travis CI를 사용하면 Github에 커밋이 될 때 마다 사용자가 따로 빌드를 하지 않아도 자동으로 테스팅을 하고, 빌드를 완성해 결과를 알려준다.

이 포스트에선 Travis CI에서 자동 배포하고자 하는 repository를 연동해보겠다.

Travis CI에 들어가서 깃허브 계정으로 로그인을 한 뒤, 오른쪽 위에 뜨는 계정 > Settings에 들어간다.

이후 repository에서 대상이 될 repository를 선택한다.

repository에 들어갔을 때 다음과 같은 창이 뜨면 설정이 완료된 것이다.

3. 프로젝트 설정

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

jdk

Spring boot에서 사용하는 jdk 버전을 입력한다.

branches

  • 어느 브랜치가 푸시될 때 travis ci를 수행할 지 지정
  • 그러므로 타 브랜치로 푸시를 하거나, commit만 한 경우 build가 자동으로 진행되지 않는다.

cache

  • gradle을 통해 의존성을 받게 되면 이를 해당 디렉토리에 캐시하여, 같은 의존성은 다음 배포때부터 다시 받지 않도록 설정한다.

script

  • master branch에 푸시가 되면 수행하는 명령어
  • 기존에 있던 jar 빌드 파일을 삭제하고 새로 빌드를 수행한다.

notification

  • travis ci 실행이 완료되면 자동으로 해당 email로 알림이 가도록 설정했다.

이후 github repository에 푸시를 한다.

그리고 다시 travis ci에 들어가서 repo를 확인해보면 다음과 같이 나올 것이다.

또 성공을 알리는 메일도 함께 도착한다.

profile
이것 저것 새로운 분야에 관심이 많은 서버 개발자

0개의 댓글