1) Test Code
ex) 특정 함수의 return 값이 어떻게 나오는지 확인하는 테스트 코드
쿼리를 날리고 데이터가 맞는지 적합성 체크하는 것도 일종의 테스트
2) 배포
서버에 새로운 기능, 버전등을 배포
3) 기타 자동화 하고 싶은 스크립트
주기적으로 데이터를 수집해 처리
Public repo : 무료, 단 limit이 있다.
Private repo : 링크참고
Workflow 는 하나의 Repo 에 최대 20개까지 등록 가능
Workflow 안에 존재하는 Job은 6시간동안 실행 될 수 있고, 초과지 자동으로 중지됨
대표적인 개념 : Workflow, Event, Job, Step, Action, Runner 등이 있다.
Job
Job 은 여러 Step으로 구성되고, 가상환경의 인스턴스에 실행됨
다른 Job에 의존 관계를 가질 수 있고, 독립적으로 병렬 실행도 가능함.
Step
Task들의 집합으로, 커맨드를 날리거나 action을 실행할 수 있음.
Action
Workflow의 가장 작은 블럭(smallest portable building block)
Job을 만들기 위해 Step 들을 연결 할 수 있음
재사용이 가능한 컴포넌트
개인적으로 만든 Action을 사용할 수도 있고, Marketplace에 있는 공용 Action을 사용할 수도 있음.
6.Runner
Github Action Runner 어플리케이션이 설치된 머신으로 Workflow 가 실행될 인스턴스
Github 에서 호스팅해주는 Github-hosted runner 와 직접 호스팅하는 Self-hosted runner로 나뉨.
Github-hosted runner 는 Azure의 Standard_DS2_v2로 vCPU 2, 메모리 7GB, 임시 스토리지 14GB
기본적인 방법: .github/workflows 폴더 안에 .yml 파일을 생성 => 탬플릿 활용하면 좋음.
Github Repo 에서 Actions 클릭
Set up this workflow 클릭하면 간단한 workflow 생성 할 수 있음.
yml 파일 예시
name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run a one-line script
run: echo Hello, world!
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.
name : Workflow 의 이름을 지정
on
jobs