CI
CI
CI
Code Commit -> Github repo -> Github Action -> ACR -> Manifest
- 지속적 통합
- 새로운 코드의 변경 사항이 빌드 및 테스트되어 공유 레포지토리에 통합 된다.
- 여러 개발자들이 기존의 코드를 지속적으로 통합
- 외국인 샵은 Github Action을 통해 진행
Github Action
- CI/CD 플랫폼 중 하나
- 저장소의 어떤 event에 대해 특정 workflow가 일어나게 하거나, 반복 실행 가능
Github Action이란
특징
- 도커 기반 동작
- workflow를 통해 다양한 이벤트 실행 가능
- 일반적으로 Runner라 불리는 인스턴스에서 실행됨 (OS 지정 가능)
YAML
로 작성
장점
- 다른 CI/CD 툴(Jenkins)처럼 별도의 서버가 필요하진 않음 -> Azure에서 제공
- Github와 연동이 되어 관리의 용이성
단점
- 캐싱이 필요한 경우 자체 캐싱 로직 적용
Github Action의 핵심 요소
Workflows
- 자동화된 프로세스가 정의된 하나의 파일
YAML
파일로 작성되며, 주로.github/workflows
폴더에 작성
Events
- workflow 실행을 트리거 하는 특정 활동이나 규칙
- pr 생성, issue open, push 등을 트리거로 사용
Job
- workflow의 독립적인 단위로, 여러 단계 포함 가능
- workflow내에서 병렬 또는 순차적으로 실행
Step
- 각 작업(job)이 하나 이상의 단계(Step)으로 모델링
- 커맨드나 스크립트 실행에는 ->
run
- 액션을 사용할 때는 ->
uses
``` steps:- name: 이름입니다 uses: actions/setup-node@v2 with: node-version: ‘14’
- name: node 설치 run: npm install ```
- 커맨드나 스크립트 실행에는 ->
Action
- step내의 재사용 가능한 명령어 또는 스크립트
- market에서 가져오는 경우
{owner}/{repo}@{ref|version}
- 예시
- ` uses: actions/checkout@v2: GitHub:` GitHub에서 제공하는 공식 액션으로, 리포지토리를 체크아웃합니다.
- ` uses: docker/setup-buildx-action@v1:` Docker Buildx를 설정하는 액션입니다.
uses: actions/setup-java@v3:
JDK를 설정하는 액션입니다.
Ruunner
- Workflow 및 job을 실행하는 환경
1 2 3
jobs: build: runs-on: ubuntu-latest
- Github에서 제공하는 최신 버전의 우분투 환경에서 잡이 실행
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.