-
TIL-2024.06.30 - Git Actions - 005. Activity Types & Filters , Workflow Skip> DevOps/Git Actions 2024. 6. 30. 22:19
목표
1. Event 제어
2. Activity Types & Filters
3. Workflow 취소와 스킵
Event 제어
> Event의 Activity Type 과 Filter 를 통해 Workflow 를 더 세밀하게 제어 및 특정 조건에 따라 트리거되도록 설정 가능
- Activity Type은 특정 이벤트내에서 다양한 활동 유형을 지정 (PR가 열리거나 닫힐 때 등 특정 활동에 대해 WF 트리거).
- Filter 은 이벤트가 발생할 때, 추가적인 조건을 설정 (특정 브랜치, 태그, 파일 경로 등으로 워크플로우 트리거를 제한).
Activity Type
> 특정 이벤트내에서 다양한 활동 유형
name: Test Project on: pull_request: types: [opened, synchronize, closed]
- types 필드를 사용하여 특정 활동 유형에 대해 워크플로우를 실행 가능. (e.g. opened, synchronize, closed와 같은 활동 유형 지정)
- 각 이벤트 종류 마다, 사용할 수 있는 Action Types 은 다르기 때문에, 공식 문서 참조 필요
PR 된 경우, trigger 되도록 설정
Filter
> 사용하면 이벤트가 발생했을 때 보다 구체적인 조건을 설정하여 워크플로우가 실행
> 대표적인 필터로는 branches, tags, paths, paths-ignore 등
# branches & path-ignore 예제 push: # branches: 특정 브랜치에 푸시가 발생했을 때 워크플로우를 트리거 branches: - main # only pushes to the main branch will trigger workflow - 'dev-*' # dev-new dev-this-is-new - 'feat/**' # feat/new feat/new/button # paths-ignore: 해당 디렉토리 내의 변경은 워크플로우를 트리거 안함. paths-ignore: - '.github/workflows/*'
- branches: 특정 브랜치에 푸시될 때만 워크플로우를 실행.
- path-ignore: 특정 파일이나 디렉토리에 변경이 있을 때 워크플로우 실행을 무시
# paths 예제 on: push: paths: - 'src/**' - 'config/**'
- paths: 특정 파일이나 디렉토리에 변경이 있을 때 워크플로우 실행을 무시
# tags 예제 on: push: tags: - 'v1.*'
- tags: 특정 태그가 푸시될 때 워크플로우를 실행
Workflow Skip
> 커밋 메시지에 특정 문자열을 포함시켜 워크플로우를 Skip 가능
git commit -m 'skip this' [skip ci]
'> DevOps > Git Actions' 카테고리의 다른 글
TIL-2024.06.29 - Git Actions - 004. Github Context Data (0) 2024.06.29 TIL-2024.06.28 - Git Actions - 003. Multiple Jobs (0) 2024.06.29 TIL-2024.06.23 - Git Actions - 002. Steps 가 호출하는 action (0) 2024.06.23 TIL-2024.06.22 - Git Actions - 001. WorkFlow (0) 2024.06.22 TIL-2024.06.21 - Git Actions - 000. Intro (0) 2024.06.21