https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-github-actions 읽으면서 정리.
Github Actions는 code, pr, issue에서 사용할 수 있는 workflow다. workflow는 빌드, 테스트, 패키지, 릴리즈, 배포와 같은 커스텀 자동화 프로세스다. 이를 통해 CI/CD를 만들 수 있다.
workflow는 Linux, macOS, Windows, Github server의 container에서 실행된다. 포크된 리포지토리에서는 기본으로 실행되지 않는다.
Github marketplace에 action을 공유하고 사용할 수 있다.
Github Actions에는 한번에 설정가능한 제한이 있다. 결제를 통해 더 많은 용량을 사용할 수 있다.
workflow
.github/workflows
에 하나 이상의 workflow를 만들 수 있다. workflow는 하나 이상의 job을 가지고 있어야 한다. job은 여러 스텝의 task로 구성된다. 스텝은 명령이나 액션을 실행한다. workflow는 github event, 스케쥴, 외부 event로 시작하게 할 수 있다.
on
문법으로 trigger를 지정할 수 있다. push, pr, branch, tag등
runs-on
으로 runner를 지정할 수 있다. ubuntu, windows, macos등
matrix
로 여러 os, platform, 언어로 동시에 테스트할 수 있다.
uses: actions/checkout@v1
로 마지막 커밋을 checkout할 수 있다.
.github/actions/NAME/action.yml
로 커스텀 액션을 만들 수 있다.
https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_NAME>/badge.svg
로 status 배지를 표시할 수 있다.
Github Action 문법: https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions