이전까지 내용 요약
이전까지 name:을 사용해 Work Flow의 이름을 정하고, on:을 사용해 Work Flow의 Trigger Event를 설정했으며, jobs: 에 first-job이라 불리는 첫 Job을 설정하고 이 Job의 runs-on: 에 ubuntu-latest를 설정해 GitHub Action에서 제공하는 가장 최신 우분투 버전에서 실행되도록 만들었다.
# WorkFlow의 이름 설정
name: First Action
# on: Work Flow가 언제 실행되어야 하는지 설정
# workflow_dispatch : 유저가 직접 실행하도록 설정하는 옵션
on: workflow_dispatch
#jobs: workflow에 포함된 job들을 정의
jobs:
#[Job 이름]: 으로 Job을 정의
first-job:
#runs-on: job이 돌아갈 실행환경 설정
#GitHub에서 제공해주는 종류 : [https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners]
runs-on: ubuntu-latest
이제 이 first-job에서 실행할 Command Line 명령어를 설정하는 방법에 대해 알아볼 것이다.
Job 와 Step
Job은 여러 Step으로 이루어져 있다. 이 step들은 steps: 블록에 선언되며 -name: 각각이 하나의 Step이 된다.
단일 커멘드 라인 실행하기
예를 들어 Print Hello라는 Step과 Print World라는 Step 두개를 steps: 에 추가하고 각각에서 Hello와 World를 프린트하도록 만들면 다음과 같이 된다.
#steps: Job에 포함될 steps정의
steps:
# step은 -으로 구분한다. - 하나당 하나의 step
# step은 key-value pair로 이루어져 있으며 [key]: [value] 가 된다.
# 하나의 step은 여러 key-value pair로 이루어져 있다.
- name: Print Hello
run: echo "Hello"
- name: Print World
run: echo "World"
여기까지 만들고 GitHub에 올리자. 그 후 Actions 탭에 들어가면 First Action이 생성되어 있을 것이고 오른쪽에 있는 Run workflow를 누르면 어떤 브랜치에서 Workflow를 실행할 것인지를 선택하는 창이 뜰 것이다.
main 브랜치로 두고 Run Workflow를 누르면 Workflow가 다음과 같이 실행되는 것을 확인할 수 있다.
하나의 Step에서 커멘드 라인 두 개 이상 실행하기
하나의 Step에서 커멘드 라인을 두개 이상 실행하기 위해서는 run: 블록에 | 를 넣고 다중 커멘드 라인을 쓰면 된다. 예를 들어 Hello와 World를 모두 출력하고 싶다고 하면 다음과 같이 쓰면 된다.
# 다중 라인 실행
- name: Print Hello World
run: |
echo "Hello"
echo "World"
정리
이번 글에서 이전에 배운 내용들을 모두 정리해서 첫 Workflow 작성을 완료했다. 이후의 내용들은 지금까지의 내용을 기초로 모두 진행된다.