참고 자료
GitHub Actions 공식문서
깃허브 액션을 사용하기 위해 workflow를 생성해보자.
GitHub Repository의 .github/workflows
디렉토리를 만든다.
YAML 파일을 생성한다. (예 : learn-github-actions.yml
)
Pubulish Java Package with Gradle
의 configure 버튼을 눌러 자동으로 생성한다.예를 들어, 코드가 푸시될 때 마다 특정 명령을 자동으로 trigger 하는 workflow를 구성한다고 해 보자.
다음과 같이 코드를 구성할 수 있다.
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
변경 내용을 GitHub Repository에 커밋한다.
이 Workflow 파일은 해당 리포지토리에 설치되었고, 누군가 변경 사항을 푸시할 때마다 이 파일은 자동으로 실행된다.
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Action
💡 Git의 Checkout이란?
Git repository에서 특정 branch로 전환하는 작업을 의미.
-> 해당 작업을 위해서는 GitHub에 올려둔 코드를 Local 컴퓨터로 내려받는 작업이 반드시 선행되어야 한다.
💡 GitHub Actions의 Checkout Action
GitHub Actions의 입장에서의 Git checkout
-> GitHub repository의 코드를 CI 서버로 내려받은 후, 특정 브랜치로 전환하는 행위
- uses: actions/setup-node@v3
with: node-version: '14'
- run: npm install -g bats
- run: bats -v
name:
: workflow 이름 지정on
: workflow가 자동으로 실행될 시점 지정(push, pull...)jobs
: 작업 그룹화jobs:
name-of-jobs:
codes...
runs-on
: Runner의 OS 지정steps
: 작업에서 실행되는 모든 step을 그룹화uses
: 실행할 내용 지정.uses: actions/checkout@v3
: actions의 checkout@v3 기능 실행 uses: actions/setup-node@v3 with: node-version: '14'
: 14 버전의 Node.js 설치기능 실행run
: 명령어 실행. runs-on에 지정된 OS로 실행 됨.