Github Actions 란
gitbub Actions 는 CI/CD 를 위한 플랫폼이다.
workflows - jobs -step + actions 으로 구성된다.
Linux, Windows, macOS 의 가상 OS환경을 제공한다.
Event
정의한 워크플로우는 github 레포지토리의 이벤트가 발생할 때 트리거될 수 있다. ( PR, push, issue ... )
워크블로우는 1개 이상의 jobs을 가지고 있고, job 들은 동시 혹은 순차적으로 실행 될 수 있다.
job 들은 가상 머신 OS에서 실행된다.
Workflows
워크플로우는 1개 이상의 jobs을 정의할 수 있다.
workflows는 레포지토리의 .github/workflows 경로 아래에 yml 파일로 정의할 수 있다.
workflows 는 이벤트 혹은 스케쥴링으로 트리거 할 수 있다.
서로다른 워크플로우 간에 참조를 할 수 있다.
Jobs
job은 step 의 묶음이다.
step은 순차적으로 실행되며 서로 종속적이다.
반면 job은 서로간에 종속적이지 않고, 각각 병렬로 실행된다.
Actions
github actions 플랫폼의 커스텀한 앱단위 이다.
반복되고, 복잡한 일의 묶음이라고 생각할 수 있다.
Runners
워크플로우가 실행되는 가상머신환경이다.
각 워크플로우는 하나의 runner 에서 실행됨으로 독립적이다.
개인 runner 를 사용할 수 도 있다.
예제
node 환경에서 패키지 설치하고 버전확인해보기
name: node-environment-test
run-name: node-install-test
on: [push]
jobs:
check-node-install:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm i -g bats
- run: bats -v
context
참조할 수 있는 컨텍스트이다. (링크)
반응형