github actions?
GitHub Actions
을 사용하면 workflow
를 통해 build
, test
, deploy
를 자동화 할 수 있습니다. 자세한 정보는 githubAction에서 확인 할 수 있습니다.
github actions을 통한 node.js CI 사용방법
exampleRepo를 통하여 코드를 볼 수 있습니다.
1 | |____node-docker-example |
레포의 구조는 위와 같이 생성되어있습니다.
1 | const express = require("express"); |
app.js
에는 '/'
에서 get
요청에 Hello World!
텍스트를 리턴하도록 작성하였습니다.
1 | const supertest = require("supertest"); |
test.js
에선 루트로 요청했을 때 Hello World!
텍스트가 잘 리턴하는지 체크하는 테스트코드를 작성하였습니다.github
에서 테스트 할 레포로 이동하여 actions
으로 이동합니다.New workflow
를 선택하여 이동 후 node.js
의 Set up this workflow
를 선택합니다.
위와 같이 node.js
의 기본 workflow
를 볼 수 있습니다.
1 | name: Nodejs example CI |
name
은 위 사진과 같이 workflow
의 이름을 설정하는 부분입니다.on
은 이벤트의 변경사항을 캐치하는 부분입니다. 위와 같이 master
브렌치의 push
이벤트가 발생하면 다음 절차가 실행됩니다.jobs
는 하나의 인스턴스에서 여러 step
을 그룹시켜 실행합니다.runs-on
은 어느 환경에서 실행 할지 지정합니다.steps
는 순차적으로 명령을 실행합니다. 위 코드에선 node mode
를 10.x
버전과 12.x
버전을 각각 실행합니다. 각 버전에서 npm package
를 설치 후 테스트를 진행합니다.