Code States/TIL

[0420] (페어) 지속적 통합 - 빌드 및 테스트 자동화

ki1111m2 2023. 4. 20. 17:48

1. 유닛 테스트를 통과시키세요.

먼저 테스트 주도 개발을 연습합니다. 직접 test/app.test.js를 수정하여 통과하지 않는 테스트를 모두 통과시키세요.

  1. 애플리케이션은 node.js로 작성되어 있습니다. node.js LTS 버전을 준비합니다.
  2. 먼저 애플리케이션의 의존성(dependency)을 설치해야 합니다. npm install 명령을 이용해 의존성을 설치합니다.
  3. 테스트가 통과하는지 확인하려면 npm test 명령을 이용합니다.
  4. test/app.test.js 파일을 열어 통과하지 않는 테스트를 수정하세요. FILL_ME_IN이라고 적힌 곳에 기댓값을 적어주면 됩니다.

2. GitHub Action을 이용해서 Node.js CI를 적용하세요.

  1. node 버전은 16 버전으로 반드시 지정해야 합니다.
  2. 다음 상황에서 GitHub Action이 트리거되어야 합니다.
    • master로 push 했을 경우
    • pull request를 보낸 경우
  3. Pull Request로 제출하세요.

app.test.js 파일 수정

npm run test 통과 확인

GitHub Action yaml 파일 작성

커밋 후 CI 작동 확인


공식 문서에서 node.js yaml 파일 템플릿을 가져왔고, npm ci 라는 라인이 있었다

이게 뭔지 몰라서 지우고 npm install을 넣었다

install을 넣어야 하는건지 ci는 무엇인지 궁금했는데 수업시간에 강사님 말씀을 내 나름대로 해석하기로는

ci 서버에서 작동하는 것이기 때문에 install 라인은 있어야하는 것 같고

npm ci는 ci 서버에서 npm install 하는 것과 같은 효과를 주는 것 같았다


완..전 신기하다..!! 

솔직히 하면서는 내가 뭐하는건지 모르겠었는데 다 하고나서 마지막 사진처럼 작동하는거 확인하니까 어떤 건지 알 것 같다

이렇게 처음에만 설정해놓으면 자동으로 확인해주는거 짱편하다..ㄷㄷ 이래서 자동화 하는거구나..