2.1.2.2 Travis CI 구성 파일

.travis.yml 파일을 통한 프로젝트 구성 방법

.travis.yml 파일은 Travis CI에서 프로젝트의 빌드, 테스트 및 배포 과정을 정의하는 핵심 구성 파일입니다. YAML 형식으로 작성되며, 프로젝트의 루트 디렉토리에 위치해야 합니다. 이 파일을 통해 Travis CI 빌드 환경을 설정하고, 실행할 스크립트 및 후속 작업 등을 정의할 수 있습니다.

기본 .travis.yml 파일 구조

language: java # 사용할 프로그래밍 언어 지정

jdk: # 사용할 JDK 버전
  - openjdk11

script: # 빌드 및 테스트 스크립트
  - ./gradlew build
  - ./gradlew test

after_success: # 빌드 성공 후 실행할 스크립트
  - echo "Build succeeded."

after_failure: # 빌드 실패 시 실행할 스크립트
  - echo "Build failed."

notifications: # 알림 설정
  email:
    recipients:
      - your-email@example.com
    on_success: change # default: change
    on_failure: always # default: always

알아두면 좋은 팁

  1. 다양한 언어 지원: Travis CI는 Java, Python, Node.js 등 다양한 프로그래밍 언어를 지원합니다. language 키를 통해 해당 프로젝트에 적합한 언어를 지정하세요.

  2. 환경 변수 설정: env 키를 사용하여 환경 변수를 설정할 수 있습니다. 비밀 정보나 API 키 같은 민감한 데이터는 Travis CI 웹 인터페이스의 환경 변수 섹션에서 안전하게 관리하세요.

env:
  global:
    - MY_SECURE_VAR=secure_value
  1. 빌드 매트릭스 사용: 여러 버전의 언어나 다양한 환경에서 테스트를 수행해야 하는 경우, matrix 또는 jobs 키를 사용하여 빌드 매트릭스를 구성할 수 있습니다.
jobs:
  include:
    - language: java
      jdk: openjdk8
    - language: java
      jdk: openjdk11
  1. 캐싱을 활용한 빌드 속도 향상: 의존성 파일을 캐시하여 빌드 시간을 단축시킬 수 있습니다. 예를 들어, Maven이나 Gradle의 의존성 캐시를 활용하는 것이 좋습니다.
cache:
  directories:
    - $HOME/.m2
    - $HOME/.gradle
  1. 조건부 빌드 및 배포: if 조건을 사용하여 특정 조건에서만 작업을 실행하도록 설정할 수 있습니다. 예를 들어, 특정 브랜치에 푸시될 때만 배포 과정을 실행하게 할 수 있습니다.
deploy:
  provider: script
  script: bash deploy.sh
  on:
    branch: master

.travis.yml 파일을 통한 구성은 프로젝트의 CI/CD 파이프라인을 정교하게 관리할 수 있게 해줍니다. 여러 설정과 옵션을 적절히 활용하여 프로젝트의 요구 사항에 맞는 최적의 빌드 및 배포 프로세스를 설계하세요.

source: DevOps/2.Continuous_Integration_(CI)/2.1.Jenkins_TravisCI_GitHubActions/2.1.2.TravisCI/2.1.2.2.md