커밋할 때마다 빌드와 일련의 자동 테스트가 이루어져 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장
지속적 배포 : 자동화 된 빌드 / 테스트 이후 수동적인 동작 없이 자동으로 배포, 지속적 배포를 통해 사용자에게 빠르게 새로운 기능을 제공
자동화 배포 파이프 라인에 의해 지속적인 배포 가능
대표 CI/CD
이 중 Github Actions는 Github 에서 제공하는 CI/CD 플랫폼이며, Github과 통합되어 코드 변경사항에 대한 이벤트를 자동으로 감지하여 자동화된 빌드 / 테스트, 배포작업을 수행 가능.
YAML 구성파일을 사용하여 작업을 정의
프로그래밍 언어 뿐 아니라 Docker, Kubernetes, AWS 와 같은 클라우드 서비스 역시 지원.
name: Kotlin CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Test with Gradle
run: ./gradlew test
- actions/checkout : 작업을 수행할 리포지토리를 체크아웃합니다.
- actions/setup-java : JDK 11을 설치합니다.
- chmod +x gradlew : Gradle 빌드 스크립트의 실행 권한을 부여합니다.
- ./gradlew build : Kotlin 애플리케이션을 빌드합니다.
- ./gradlew test : Kotlin 애플리케이션을 테스트합니다.