개발 공부/웹 개발

[Git] GitHub Action 공부

5묘 2022. 8. 23. 17:16

엘리의 드림코딩으로 공부하는 GitHub Action(https://youtu.be/iLqGzEkusIw)

깃허브 액션 5가지 키워드

1) Event: 
 main 브랜치로 머지하거나, 커밋 푸쉬하거나, 이슈 누군가 여는 등 이벤트 실행 시

2) Workflow:
특정 이벤트 발생 시 이 워크 플로우의 Job들이 실행. 

3) Jobs
Workflow 안의 여러가지 Job들 병렬 처리됨(필요하면 순차처리 하도록 지정 가능)
Job 안에는 step1>step2>.. 이렇게 순차적으로 처리되도록 명령어(step) 저장.

4) Actions
재사용할 수 있는 명령문
가장 먼저  action check out 을 step에 집어넣은 후, 이후 step에서 활용 가능.

5) Runner
Job을 실행하는 것 / VM 머신이나 Docker 컨테이너와 비슷.
각각의 Job들은 독립적인 Runner 상에서 실행됨.

실습

1. .github/workflows/workflow(자유).yml 을 생성한다.

name: learn-github-actions  // workflow 이름(자유)
on: [push]					// 이벤트 (ex.push 발생시 workflow 작동)
jobs: 
	check-bats-version:     // 실행할 Job 이름
    	runs-on: ubuntu-latest  // 어떤 runner(VM machine)을 사용할지
        steps:
        	- uses: actions/checkout@v3    // action 체크아웃
            - uses: acitons/setup-node@v3  // 노드 set up
              with:
              	  node-version: '14'       // shell script 명령어들
            - run: npm install -g bats
            - run: bats -v

++) github 레포지터리 상에서 Actions에 들어가 필요한 언어 선택시 이렇게 자동으로 .yml 파일 생성 가능.

++) .yml 파일에 들어갈 문법을 알 수 있는 공식문서!

 

Workflow syntax for GitHub Actions - GitHub Docs

About YAML syntax for workflows Workflow files use YAML syntax, and must have either a .yml or .yaml file extension. If you're new to YAML and want to learn more, see "Learn YAML in Y minutes." You must store workflow files in the .github/workflows directo

docs.github.com

++) marketplace에서 더 자세한 actions들 검색 가능!

2. 생성한 .yml을 커밋한다.

3. 다시 Actions에서 생성된 Workflow를 확인할 수 있다.

단계별로 실행되는 모습을 볼 수 있다.

일부로 잘못된 코드를 돌려보면(++ npm test로 어디가 잘못됐는지 확인 가능) 실행 안되는 모습을 확인 가능함.