깃허브 액션과 docker를 사용해서 CI/CD를 합니다.(with NestJS)
action은 뭔가 프로그래밍에서는 생소합니다. 이벤트는 들어봤어도 말이죠. 하지만 깊게 생각할 필요가 없습니다.
github에 push한다면 github에서는 컴퓨터를 빌려주게 됩니다. 이 컴퓨터를 runner라고 합니다.
우리는 이 받은 컴퓨터를 통해서 여려가지 작업을 할 수 있습니다. 배포를 자동화하는 동작 같은 것을 말이죠.
Actions를 누르면 위와 같이 뜨게 됩니다. 뭔가 모르는 게 잔뜩 나오니까 주눅이 듭니다… 하지만 겁 먹을 필요가 없습니다. 그냥 다른 사람들이 만든 것들을 보여준다고 생각하면 됩니다. 다른 사람들이 잘 만든 것을 가져와서 사용하면 편하기 때문에 저렇게 보여주는 것이죠. 하지만 적어도 지금은 저와는 상관없습니다. 지금 당장은 말이죠.
set up a workflow yourself
를 누르면 아래처럼 창이 뜹니다.
컴퓨터를 빌려준다고 했습니다. 그럼 이제 우리는 단순하게 컴퓨터가 할 일을 적어주면 됩니다. 나머지는 컴퓨터가 알아서 다 해주게 되는 것이죠.
이때 액션의 실체는 위에 보이는 것 처럼 .github/workflows 의 main.yml 파일입니다. 저 파일에 명령을 적어주면 github에서는 저 파일을 읽고 어떤 동작을 해주는 것이죠.(하지만 항상 말은 쉽습니다. 말은…)