1편에 이어서 내용을 작성하겠습니다.
Travis CI를 통해 test를 진행을 할 수 있는데 그러기 위해서는 travis.yml파일을 작성해주어야 합니다.
YAML: Ain’t Markup Language 약자이며 yml이라고도 불린다. 쉽게 설명한다면 데이터를 사람이 쉽게 읽을 수 있는 형태로 표현을 할 수 있습니다.(json, xml파일등에 비해)
.travis.yml 파일
sudo: required
language: generic
services:
- docker
before_install:
- echo "start creating an image"
- docker build -t wmc15156/docker-react-app -f Dockerfile.dev
script:
- docker run -e CI=ture wmc15156/docker-react-app npm run test -- --coverage
after_success:
- echo "Test success"
sudo: required => 관리자 권한부여
language: generic => generic 언어 사용
services: docker => docker 환경에서 프로젝트(앱)을 실행하므로
before_install:
- echo "start creating an image"
- docker build -t wmc15156/docker-react-app -f Dockerfile.dev .
=> script를 실행하기전에 실행 할 명령어 , echo 터미널창에 출력 , docker 파일 빌드
docker build -t 도커 이미지 이름 지정 -f 도커파일이름 위치
제일 마지막에 점은 현재 디렉토리에 Dockerfile.dev가 있기때문에 적어줘야한다. Dockerfile이라는 이름으로 되어 있다면 -f 옵션은 따로 적어주지 않아도 됨.
script:
- docker run -e CI=ture wmc15156/docker-react-app npm run test -- --coverage
=> docker 실행 (e 옵션은 Travis CI를 사용할려면 적어줘야 하는 옵션 npm run test는 package.json에 있는 test 스크립트이며 -- --coverage 좀 더 상세내역을 볼수 있음
after_success:
- echo "Test success"
=> script를 정상적으로 수행했다면 터미널에 Test success 출력
이전 편에서 내용을 적지 않은내용이지만 Travis CI에 toggle 버튼을 활성화를 시키면 선택한 프로젝트가 깃헙으로 push가 되면 Travis C가.travis.yml을 실행시켜준다.
그럼 push를 한 다음 https://travis-ci.org/에 들어간 다음 확인 gogo
after_success 가 실행된걸 볼 수 있다.
실행하다가 에러가 2개 떳는데 우선 첫번째는 yml 파일자체가 들여쓰기로 문법을 검사해 들여쓰기를 틀려서;; 또 하나는 before_install에서 제일 마지막에 . 안찍어서 build 실패 ;;