프로젝트 연동하기: 두 판 사이의 차이

기술노트
편집 요약 없음
편집 요약 없음
 
1번째 줄: 1번째 줄:
# Travis CI 연동하기
# 🚀 Travis CI 연동하기


![Travis 개요](https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMIduW%2FbtrfWMtiPEC%2FENLpZFdHhIVcpV31IWNBcK%2Fimg.jpg)
![Travis CI 개요](https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMIduW%2FbtrfWMtiPEC%2FENLpZFdHhIVcpV31IWNBcK%2Fimg.jpg)


> **자동화된 테스트 및 빌드 환경을 구축하여 개발자는 코드 품질에만 집중할 수 있도록 하자.**
> 자동화된 테스트 및 빌드 환경을 구축하여
> **개발자는 코드 품질에만 집중할 수 있도록 하자.**


---
---


## CI (Continuous Integration)
## CI (Continuous Integration)


CI란 "지속적인 통합"이라는 의미로, 여러 개발자가 작성한 코드를 하나의 저장소에 통합할 때 **자동으로 테스트와 빌드를 수행**하는 프로세스입니다. 이를 통해 코드 병합 발생할 수 있는 문제를 빠르게 감지하고, 제품의 품질을 일정하게 유지할 수 있습니다.
**CI**는 “지속적인 통합”이라는 의미로,
여러 개발자가 작성한 코드를 하나의 저장소에 통합할 때
자동으로 **테스트와 빌드를 수행**하는 프로세스를 말합니다.
 
- 코드 통합 시 문제를 빠르게 발견
- 기능 개발 후 바로 코드 검증 가능
- 병합된 코드의 품질을 지속적으로 유지 가능


---
---


## CD (Continuous Deployment)
## CD (Continuous Deployment)
 
**CD**는 “지속적인 배포”라는 의미입니다. 
CI 과정을 통해 생성된 빌드 결과물을 운영 환경에 **자동으로 배포**합니다.


CD는 "지속적인 배포"를 의미합니다. CI 과정을 거쳐 빌드된 결과물을 운영 환경(서버)에 **자동으로 배포**하는 과정을 말합니다. 수작업 없이도 안정적인 업데이트가 가능해지며, 서비스의 변경 사항을 빠르게 사용자에게 전달할 수 있습니다.
- 수작업 없이 실시간 반영
- 무중단 배포 가능
- 사용자에게 빠르게 기능 전달


---
---


## Travis CI 웹 서비스 설정하기
## 🛠️ Travis CI 시작하기


1. [Travis CI](https://www.travis-ci.com/) 사이트에 접속하여 GitHub 계정으로 로그인합니다.
1. [Travis CI](https://www.travis-ci.com/)접속하여 GitHub 계정으로 로그인합니다.
2. `Settings` 메뉴에서 프로젝트를 선택한 후, Travis 연동을 활성화합니다.
2. `Settings`에서 CI를 적용할 GitHub 저장소를 활성화합니다.
3. 활성화된 저장소의 루트 디렉토리에 `.travis.yml` 파일을 생성합니다.
3. 저장소 루트 경로에 `.travis.yml` 파일을 생성합니다.


![Travis 설정 스크린샷](https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpCgp3%2Fbtrf1hF3DBd%2F6y2x40HdH0Ko8ZUB4kHV90%2Fimg.jpg)
![Travis 설정](https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpCgp3%2Fbtrf1hF3DBd%2F6y2x40HdH0Ko8ZUB4kHV90%2Fimg.jpg)


---
---


## `.travis.yml` 기본 설정 예시
## 🧾 `.travis.yml` 기본 설정 예시


```yaml
```yaml
38번째 줄: 50번째 줄:
branches:
branches:
   only:
   only:
     - main
     - main # main 브랜치에 push될 때만 동작


# Travis CI의 캐시 디렉토리 설정 (속도 향상)
cache:
cache:
   directories:
   directories:
     - '$HOME/.m2/repository'
     - '$HOME/.m2/repository' # Maven 의존성 캐시
     - '$HOME/.gradle'
     - '$HOME/.gradle'         # Gradle 캐시


# 실제 빌드 명령어
script: "./gradlew clean build" # 실행할 빌드 명령어
script: "./gradlew clean build"


# 빌드 결과 이메일 알림
notifications:
notifications:
   email:
   email:
     recipients:
     recipients:
       - gyuseok6394@gmail.com
       - gyuseok6394@gmail.com # 빌드 결과를 보낼 이메일

2025년 4월 17일 (목) 16:22 기준 최신판

  1. 🚀 Travis CI 연동하기

![Travis CI 개요](https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMIduW%2FbtrfWMtiPEC%2FENLpZFdHhIVcpV31IWNBcK%2Fimg.jpg)

> 자동화된 테스트 및 빌드 환경을 구축하여 > **개발자는 코드 품질에만 집중할 수 있도록 하자.**

---

    1. ✅ CI (Continuous Integration)
    • CI**는 “지속적인 통합”이라는 의미로,

여러 개발자가 작성한 코드를 하나의 저장소에 통합할 때 자동으로 **테스트와 빌드를 수행**하는 프로세스를 말합니다.

- 코드 통합 시 문제를 빠르게 발견 - 기능 개발 후 바로 코드 검증 가능 - 병합된 코드의 품질을 지속적으로 유지 가능

---

    1. ✅ CD (Continuous Deployment)
    • CD**는 “지속적인 배포”라는 의미입니다.

CI 과정을 통해 생성된 빌드 결과물을 운영 환경에 **자동으로 배포**합니다.

- 수작업 없이 실시간 반영 - 무중단 배포 가능 - 사용자에게 빠르게 기능 전달

---

    1. 🛠️ Travis CI 시작하기

1. [Travis CI](https://www.travis-ci.com/)에 접속하여 GitHub 계정으로 로그인합니다. 2. `Settings`에서 CI를 적용할 GitHub 저장소를 활성화합니다. 3. 저장소 루트 경로에 `.travis.yml` 파일을 생성합니다.

![Travis 설정](https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcpCgp3%2Fbtrf1hF3DBd%2F6y2x40HdH0Ko8ZUB4kHV90%2Fimg.jpg)

---

    1. 🧾 `.travis.yml` 기본 설정 예시

```yaml language: java jdk:

 - openjdk11

branches:

 only:
   - main  # main 브랜치에 push될 때만 동작

cache:

 directories:
   - '$HOME/.m2/repository'  # Maven 의존성 캐시
   - '$HOME/.gradle'         # Gradle 캐시

script: "./gradlew clean build" # 실행할 빌드 명령어

notifications:

 email:
   recipients:
     - gyuseok6394@gmail.com  # 빌드 결과를 보낼 이메일