ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 배포 - Travis CI
    Infra/CI-CD 2023. 1. 2. 14:51

    Travis CI 설명?

    Travis CI 는 Github에서 진행되는 오픈소스 프로젝트를 위한 지속적인 통합(Continuous Integration)서비스이다. Travis CI를 이용하면 Github repository에 있는 프로젝트를 특정 이벤트에 따라 자동으로 테스트, 빌드하거나 배포할 수 있다.

     

    Travis CI의 흐름

    1. 로컬 Git에 있는 소스를 Github 저장소에 Push한다.

    2. Github master 저장소에 소스가 Push가 되면 Travis CI에게 소스가 Push 되었다고 얘기를 해준다.

    3. Travis CI는 업데이트 되 소스를 Github에서 가지고 온다.

    4. Travis CI Github에서 가져온 소스의 테스트 코드를 실행해 본다.

    5. 테스트 코드 실행 후 테스트가 성고하면 AWS같은 호스팅 사이트로 보내서 배포한다.

     

     

    Travis CI 이용 순서

    일단 Github에 소스를 올렸을 때 Travis CI에서 그 소스를 가져가야 하기 때문에 Travis CI와 Github가 연결이되어 있어야 한다. 먼저 연결하는 순서를 알아본다.

     

    Travis CI에 가입하고 어떤 프로젝트를 Travis CI에서 관리할 것인지 설정해 준다.

     

    그다음 으로는 Github에서 Travis CI 소스로 어떻게 전달 시킬것인지, 전달 받은 것을 어떻게 test할 것인지 마지막으로는 test가 성공했을 때 어떻게 AWS에 전달해서 배포를 할 것인지 설정해주어야 한다.

     

    이런 설정을 위해서 Docker에서는 docker-compose.yml에 무엇을 할지 작성 해주었다면 Travis CI에서는 .travise.yml파일을 만들어 관련한 설정 사항을 넣어준다.

    .travis.yml 파일 작성하기 

    .travis.yml

    before_install 명령어 다음에 script 명령어 를 실행을 시켜야 한다. script 명령어에 test를 진행시키는 상황이 담겨있다. 그렇다면 before_install을 실행하기 전에 해주어야 하는 것들을 before_install 명령어에 담는다.

     

    script를 실행하기 전에 해주어야 하는 것들이 뭐가 있을까? => 우선 script단계에서는 test를 실행 해주어야 한다 그러기 위해서는 before_install명령어에서 Dockerfile을 이용해서 image를 build해야 한다. 그래야만 그 image를 바탕으로 해서 Docker Container들을 실행한 다음에 test를 실행할 수 있기 때문이다.

     

    script 명령어 포함 되어 있는 -e CI=true 는 travis CI 이를 위한 옵션이다. -- --coverage 같은 경우는 test한것의 내용을 더 상세하게 볼 수 있게 해준다.

     

    Travis CI 수행

    해당파일을 작성 작성 -> Git commit -> remote main브런치에 push

    위 3단계를 거치면 Travis CI에서 자동으로 이를 인식하고 .travis.yml에 있는 명령어들을 수행한다. 

    댓글

Designed by Tistory.