[WEB] 깃허브 Actions



  • 개발 프로세스의 핵심은 자동화! (CICD)
  • 특정 이벤트가 발생했을 때, 내가 원하는 일을 자동적으로 수행할 수 있게 하는 도구



Events

  • 이벤트를 지정
  • ex) main 브랜치로 머지, 커밋을 푸쉬, 이슈를 누군가 열면
  • on: push


WorkFlows

  • 특정한 일이 일어났을 때, 어떤 일을 수행할 것인가. ⇒ 요리책


Jobs

  • WorkFlows에는, 하나 또는 여러개의 Job이 있음 (unit test, E2E test)
  • 각각의 job은 병렬적으로 수행됨
  • job 안에는 순차적으로 일어날 순서인 step 이 있음


Actions

  • 우리가 재사용하는 공개적으로 오픈된 명령어들이 정의되어 있음
  • ex) step1: action check out


Runners

  • job 을 실행하는 것
  • vm machine, docker container 역할



깃허브 Actions 만드는 법

  • 파일 디렉터리 .github/workflows/ 폴더 내부에 정의
    • .github/workflows/workflow.yml
// 파일 예시
name: learn-github-actions // WorkFlows 이름
on: [push] // Events
jobs:
	check-bats-version: // Job 이름 지정
		runs-on: ubuntu-latest
		steps:
			- uses: actions/checkout@v3
			- uses: actions/setup-node@v3
				with:
					node-version: '14'
			- run: npm install -g bats
			- run: bats -v