nodejs에서 작성한 express 애플리케이션을 git에 CircleCI에서 자동 빌드가 되고 nodejs에서 작성한 테스트 코드가 실행됩니다.
빌드에 성공하고 테스트 코드도 모두 통과가 되면 AWS elastic beanstalk에 자동 배포를 해주는 ci/cd를 구축해봅니다.
➡️ 1편으로 바로가기
1. Config.yml 수정
CircleCI의 설정파일인 config.yml 파일을 수정해줍니다.
store_test_results에 path는 저장된 테스트 결과 파일의 주소를 입력해줍니다.
CircleCI에서 테스트 결과 xml를 만들어주는 것이 아닙니다...!
pwd 로 현재 위치를 확인하고 올바른 주소를 입력해줍니다.(삽질에서 나온 조언..)
Tests 탭에 결과가 잘 안 나온다? 하면 파일 경로를 잘못 입력했을 확률이 큽니다.
step에서는 실행하고자하는 명령어들을 입력하면 됩니다.
jobs:
test:
executor:
name: node/default
tag: '13.14'
steps:
- checkout
- node/install-packages
- run:
name: Running Test Code
command: npm run test
- run:
name: Installing deployment dependencies
command: |
sudo apt-get -y -qq update
sudo apt-get install python3-pip python3-dev build-essential
sudo pip3 install awsebcli --upgrade
- run:
name: Deploying
command: |
git config --global core.autocrlf input
eb deploy Mocha-practice-dev
- store_test_results:
path: ~/project/artifacts/test
orbs:
node: circleci/node@3.0.0
version: 2.1
workflows:
test_my_app:
jobs:
- test
nodeJS package.json 에서 다음과 같은 스크립트를 추가해줬기에 npm test 명령어로 테스트 코드를 모두 실행할 수 있었습니다.
테스트 결과 xml이 저장된 경로는 프로젝트/xunit.xml이었습니다.
"scripts": {
"start": "nodemon ./bin/www",
"test": "jenkins-mocha test/* -Dfile.encoding=UTF8 -R spec-xunit-file -exit "
}
2. 결과 확인
(1) 테스트 코드가 성공했을 때
(2) 테스트 코드가 실패했을 때
다음시간에는 자동 빌드, 자동 테스트에 성공한 코드를 AWS Elastic Beanstalk로 자동 배포되는 작업을 해보겠습니다.
728x90