.github/workflows
폴더 아래에 저장. Github에게 YAML 파일로 정의한 자동화 동작을 전달하면, Github Actions는 해당 파일을 기반으로 그대로 실행시킨다.Github Actions는 소프트웨어 개발 생명 주기 내에 자동화된 테스크를 수행할 수 있도록 도와줍니다. Github Action은 특정한 이벤트가 발생한 이후에 일련의 명령어들을 실행할 수 있는 Event-Driven 입니다.
그림에서 보여지는 것과 같이, Event가 job을 포함하는 workflow를 자동으로 트리거합니다. 그런 다음 job은 step을 사용하여 action을 실행하는 순서를 제어합니다.
다음은 job을 실행하기 위해 함께 동작하는 여러 Github Actions 컴포넌트의 목록입니다.
Workflow 파일은 YAML으로 작성되고, Github Repository의 .github/workflows
폴더 아래에 저장. Github에게 YAML 파일로 정의한 자동화 동작을 전달하면, Github Actions는 해당 파일을 기반으로 그대로 실행시킨다.
example
name: learn-github-actions
: (선택) workflow의 이름으로 깃헙 레포지토리의 Action 탭에 나타남.
on: [push]
: workflow 파일을 자동으로 트리거하는 이벤트를 지정
jobs
: 'learn-github-actions' workflow 파일에서 동작하는 모든 작업을 함께 그룹화
check-bats-version
: 작업 섹션에 저장된 'check-bats-version' 작업을 정의
runs-on: ubuntu-latest
: Ubuntu Linux 실행기에서 실행되도록 작업을 구성합니다. 이는 작업이 GitHub에서 호스팅하는 새로운 가상 머신에서 실행됨을 의미합니다. 다른 러너를 사용하는 구문 예제는 "GitHub 작업에 대한 워크플로 구문"을 참조하십시오.
steps
: check-bats-version 작업에서 실행되는 모든 단계를 함께 그룹화. 이 섹션 아래에 중첩된 각 항목은 별도의 작업 또는 셸 명령입니다.
- uses: actions/checkout@v2
: uses 키워드는 actions/checkout@v2라는 커뮤니티 작업의 v2를 검색하도록 작업에 지시합니다. 이것은 리포지토리를 체크아웃하고 러너에 다운로드하여 코드에 대해 작업(예: 테스트 도구)을 실행할 수 있도록 하는 작업입니다.
- uses: actions/setup-node@v2
with:
node-version: '14'
이 단계에서는 actions/setup-node@v2 작업을 사용하여 러너에 지정된 버전의 노드 소프트웨어 패키지를 설치합니다. 그러면 npm 명령에 액세스할 수 있습니다.
- run: npm install -g bats
: run 키워드는 러너에서 명령을 실행하도록 작업에 지시합니다. 이 경우 npm을 사용하여 bats 소프트웨어 테스트 패키지를 설치합니다.
run: bats -v
: 마지막으로 소프트웨어 버전을 출력하는 매개변수를 사용하여 bat 명령을 실행합니다.