Action이란 무엇인가?
Action이란 GitHub Actions에서 미리 정의된 명령어의 집합이다. Action은 복잡하고 자주 반복되는 작업을 간단하게 수행할 수 있도록 해준다.
checkout Action으로 코드 내려받기
예를 들어 GitHub 저장소에서 코드를 내려받아 실행 중인 Machine에 저장하는 작업은 간단해보이지만 매우 복잡하다. 따라서 만약 이 작업을 이전 글에서 다룬 run: 블록을 통해 커멘드 라인으로 실행해야 한다면 매우 여러 줄의 코드를 써야될 것이다.
하지만 uses: 블록으로 Action을 사용하면 단 한 줄의 step으로 모든 checkout을 수행한다. 뒤에 붙은 @v3은 checkout Action의 세번째 버전을 사용한다는 것이다.
* 글의 작성 시점을 기준으로 가장 최신 버전은 v3이다.
name: Android CI
on: workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
checkout에서 어떤 일을 하는지는 내부를 보면 보인다. checkout을 위한 토큰 설정부터, 저장소 복사까지 많은 일들을 수행한다.
이 checkout Action에 대한 유지 보수는 GitHub에 의해 진행되며 아래 레포지토리에서 유지 보수되는 것을 볼 수 있다.
checkout 사용법 문서는 아래 링크에서 확인 가능하다.
Action에 파라미터 넘겨 커스터마이즈 하기
Action에 파라미터를 넘길 때는 with:을 사용한다.
위 문서에서 checkout에 사용할 수 있는 다양한 파라미터들을 설명하고 있는 것을 확인할 수 있다. 너무 많아서 위에 있는 것 두개만 가져왔다.
- uses: actions/checkout@v3
with:
# 소유자의 이름과 저장소 이름을 설정 예를 들어 actions/checkout 와 같이 설정 가능하다.
# 기본값: ${{ github.repository }}
repository: ''
# 체크아웃 할 브랜치, tag, SHA 설정, workflow를 실행시키는 브랜치 설정
# 기본값 : default branch
ref: ''
...
다른 Action들 확인하기
이 외의 다양한 Action들은 다음 링크에서 확인 가능하다.
이후에 사용될 Setup Java JDK 등이 아래에 미리 정의되어 있는 것을 알 수 있다.