-
TIL-2024.06.23 - Git Actions - 002. Steps 가 호출하는 action> DevOps/Git Actions 2024. 6. 23. 00:17
학습 목표:
- 새로운 Event > Push
- Step에서 호출되는 action (uses & with)
새로운 Event > Push
- 복습 ) GitHub Actions에서는 다양한 이벤트를 통해 워크플로우를 트리거하며, 각 이벤트는 고유한 트리거 조건이 있음
- 이 중, 이번에 살펴볼 push event 는 [리포지토리에 커밋이 푸시될 때 트리거]될 때 구동
더보기추가적인 Events
다양한 on Event - push: 리포지토리에 커밋이 푸시될 때 트리거 (특정 브랜치나 태그에 대해서만 트리거 가능)
on: push: branches: - main tags: - v1.*
- pull_request: 풀 리퀘스트가 열리거나 업데이트될 때 트리거 (특정 브랜치나 태그에 대해서만 트리거 가능)
on: pull_request: branches: - main
- schedule: 지정된 cron 스케줄에 따라 주기적으로 워크플로우를 트리거
on: schedule: - cron: '0 0 * * *' # 매일 자정에 실행
- workflow_dispatch: 수동으로 워크플로우를 트리거
on: workflow_dispatch: inputs: name: description: 'Person to greet' required: true default: 'World'
- release: 릴리스가 생성, 수정, 삭제될 때 트리거
on: release: types: [published, edited, deleted]
- issues: 이슈가 열리거나 수정될 때 트리거
on: issues: types: [opened, edited]
- issue_comment: 이슈에 댓글이 달리거나 수정될 때 트리거
on: issue_comment: types: [created, edited, deleted]
.. 등
> 여러 이벤트를 결합하여 워크플로우를 트리거도 가능
name: Complex Workflow on: push: branches: - main pull_request: branches: - main schedule: - cron: '0 0 * * *' workflow_dispatch: release: types: [published] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Run a build script run: echo "Building the project..."
Action @ Step (+ "with" keyword)
> Action 으로 호출되는 step
- "Step"은 단일 실행 단위를 나타내며, 각 "step"은 명령을 실행 (shell script command) || 특정 액션 (action)을 호출
- 일전에 살펴본, shell script command 는 run 키워드를 사용하지만,
- 이번에 살펴볼, action 은 uses 키워드를 사용
- step 중, with 키워드는 해당 action 에 필요한 추가 설정을 제공
uses 키워드
- uses 키워드는 특정 액션을 지정할 때 사용.
- 액션은 리포지토리와 버전 태그로 식별 (e.g. actions/checkout@v2는 actions 조직의 checkout 액션의 2번째 버전 의미)
with 키워드
- with 키워드는 액션에 전달할 매개변수나 설정값을 지정할 때 사용.
- 각 액션마다 사용할 수 있는 매개변수가 다르며, 이는 해당 액션의 문서에 자세히 설명.
전체 코드:
name: Test Project on: push jobs: test: runs-on: ubuntu-latest # environment steps: # SECT: actions/checkout (리포지토리의 소스 코드를 워크플로우 실행 환경으로 체크아웃(다운로드)하는 기능) - name: Get code uses: actions/checkout@v3 # uses > action & run: run > shell script (command) # SECT: Install NODE - name: Install NodeJS uses: actions/setup-node@v3 with: # configuration (액션에 전달할 매개변수나 설정값을 지정할 때 사용됩니다. with 키워드 아래에 나열된 키-값 쌍은 해당 액션에 필요한 추가적인 설정을 제공) node-version: 18 # SECT: Install Dependencies - name: Install dependencies run: npm ci # SECT: Run Test - name: Run Tests run: npm test
결과:
- 결과적으로 잘 작동하는 것을 확인할 수 있었다!
'> DevOps > Git Actions' 카테고리의 다른 글
TIL-2024.06.30 - Git Actions - 005. Activity Types & Filters , Workflow Skip (1) 2024.06.30 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.22 - Git Actions - 001. WorkFlow (0) 2024.06.22 TIL-2024.06.21 - Git Actions - 000. Intro (0) 2024.06.21