Today Sangmin Learned
article thumbnail
Published 2023. 2. 19. 15:43
today i learned 2/19 today i learned
728x90

1. GitHub Actions

  - workflows: 이벤트 + Job을 정의함

  - Jobs: 행해지는 환경(Runner)와Steps를 정의함

  - Steps: 실제 작업이 이뤄지는 단계

  - 이벤트는 다양함. 레포와 관련있을수도(push event), 관련없을수도(workflow_dispatch) 있다. 최소한 하나의 이벤트는 있어야한다.

  - .github/workflows/<file>.yml에서 워크플로우를 작성해야 하며, GitHub Actions의 문법에 맞게 작성해야 한다.

 

2. workflow의 취소 & 스킵

  2-1. 취소

    - Jobs가 실패할 경우 workflow는 알아서 취소됨

    - Job의 경우 그 Job 내의 Step중 하나라도 실패할 경우 실패함

    - 당연히 취소 버튼을 눌러서 취소할 수도 있음

  2-2. 스킵

    - 원칙적으로 YAML 파일의 on 조건을 만족하는 경우 무조건 시작함

    - 다만 푸시와 PR의 경우에는 workflow를 건너뛸 수 있는 케이스가 존재함

    - 푸시의 경우 커밋 메시지 뒤에 [skip ci]를 넣어주면 됨..

 

CI/CD 배포 시에 .yml에서 React 테스트를 진행할 수 있도록 yarn test(= vitest run)을 입력했는데, vitest not found라는 에러가 계속 떴었다.

결국 해결했는데 그 원인은 최상단 루트에

.github/workflows
프로젝트 폴더

가 있었는데, 정작 vitest가 행해져야 할 프로젝트가 한 뎁스 깊게 있었기 때문에 최상단에서 동작하는 workflow가 vitest를 찾지 못한 것이다.

.github/workflows
src
package.json
yarn.lock
...

이렇게 프로젝트 내부 파일들과 workflow가 최상단 루트에 위치할 수 있게 바꿔줌으로써 에러를 해결할 수 있었다.

 

'today i learned' 카테고리의 다른 글

today i learned 2/13  (0) 2023.02.13
today i worked 7/1  (0) 2022.06.30
today i worked 6/30  (0) 2022.06.30
today i worked 6/29  (0) 2022.06.29
today i worked 6/28  (0) 2022.06.29
profile

Today Sangmin Learned

@steadily-worked

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!