[Circle CI] Circle CI에서 Background 작업을 수행하기

Circle CI에서 백그라운드 프로세스를 어떻게 진행해야 하는지에 대한 간단한 예제입니다.


환경

  • Circle CI
  • Background Task


문제 상황

Selenium을 한번 실습해보면서 서버를 띄워야하는데 서버 띄우는 부분을 클라이언트에서는 shell을 2개를 띄우고 실행하면 되지만 Circle CI에는 하나의 shell에서만 돌아가서 서버를 띄우는 상황이 생기게 되면 “백그라운드 프로세스로 돌리고” 나머지 과정을 진행해야 한다.

처음에는 간단하게 ‘&’를 뒤에 붙였지만… Circle CI에서는 오류가 발생하였다. 사실 처음에 위에 오류가 나는 문구조차 보지 못해서… 한참을 삽집을 했다. 여기서 교훈 = 뭐든지 자세하게 보고 자세히 읽자…


Error

문제가… 서버에 있다… 브라우저를 띄우지 못한다… 가상 모니터를 띄워야한다의 등등 이야기가 다 나왔고 시도를 해봤지만… 허허 등하불명이라 했던가 위에 문제를 찝어주었고 심지어 해결책까지 아래 처럼 나와있었다. (글을 자세하게 읽고 똑바로 읽도록 합시다 ㅠㅠ)


Recommendation


문제 해결

  • circle.yml 파일에 아래처럼 간단하게 코드를 수정해주면 가능하다.:)
  • background: true를 백그라운드로 돌리고 싶은 명령어에 추가로 옵션을 주면 된다.
...
pre:
    - pip install -r requirements.txt
post:
    - python -m http.server 8000:
        background: true
...