[Github] Github Action으로 자동배포하기
Github Action은 깃허브에서 야심차게 내놓은 기똥찬 CI/CD 서비스다.
기존 젠킨스의 역할을 상당히 쉽고 편하게 제공한다고 보면 된다.
내가 마침 위키 프로젝트를 진행중이라 스웨거 서버를 매번 띄워놓기가 불편해서 Github Page로 띄우려고 했는데, 매번 빌드해서 올리기가 귀찮아서 한번 써보기로 했다.
레포지토리에 보면 액션이란 칸이 있을 것이다.

들어가면
이런저런 템플릿을 쓸 수 있다고 하는데 일단 직접 작성하면서 보도록 하겠다.
그럼 아래와 같은 템플릿 소스가 생성될 것이다.
뭐가 복잡해보이지만 생각보다 별거 없다.
위에 이거는 CI라는 이름의 액션이란 것이고.
on은 어떤 행동에 반응할지를 정의한다.
여기서는 main 브랜치에 push 했을때, 그리고 pull request가 왔을 때 액션이 실행되도록 되어있는 것이다.
그리고 jobs는 실제 action에서 실행될 명령들을 지정한다.
빌드하고 push하는 작업을 여기서 처리할 것이다.
runs-on은 실행환경인데, 윈도우나 mac 등등 다양한 빌드환경을 제공한다.
그리고 steps가 실제로 빌드환경에서 실행할 터미널 명령들이다.
uses actions/checkout@v2는 기본적으로 해줘야하는 것 같다.
그 밑에 name과 run이 하나하나의 명령이다. name은 붙여줘도 되고, 안붙여도 된다. 실제로 실행되는 것은 run이다.
저걸 내 사용례에 맞춰 정의해봤다.
노드 추가하고. 설치 후 빌드한 다음에 release 브랜치로 push하도록 했다.
github page 브랜치도 release로 바꾸고.
그럼 이제 action 창에서 저걸 직접 트리거 없이도 돌려볼 수도 있다.

직접 수동실행을 하든, 트리거를 걸든간에 실행된 액션들은 저 창에 뜨고, 실행상태와 로그를 다 볼 수가 있다.

그럼 이제 push할때마다 이게 자동으로 돌아서 release에 쏴주고, github page도 그걸 읽어서 적절한 시기에 반영해줄 것이다.
대충 이런식으로 써먹으면 된다.
참조
https://jonnung.dev/devops/2020/01/31/github_action_getting_started/
https://docs.github.com/en/actions/quickstart
https://github.com/actions/setup-node
https://zzsza.github.io/development/2020/06/06/github-action/
https://devblog.croquis.com/ko/2020-11-06-1-using-github-actions/