[robotframework] jupyterhub docker와 robotframework의 docker 이미지를 만드는 방법

가끔 robotframework의 동작을 확인하기 위해 시나리오를 만들고 실행하는 것은 귀찮습니다. 또, 공부·설명 자료를 작성하기 위해, jupyterbook은 유효한 방법이다. 그 때문에, 팀을 위해 빨리 robotframework(RF)의 키워드를 확인할 수 있도록, jupyter book와 RF kernel의 조합에 대한 메모를 정리했다.

환경


  • osX Mojave
  • docker desktop Version 2.0.0.3

  • 건설



    먼저 root 권한으로 docker가 설치된 환경에서 dockerhub에서 jupyterhub 컨테이너 만들기 (로컬에 image가 없으면 dockerhub에서 자동으로 다운로드됨)
    bash-3.2# docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub
    

    이와 같이 jupyterhub라는 debian 기반 jupyterhub 컨테이너가 움직이고 있다.
    bash-3.2# docker ps
    CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                    NAMES
    bd25d04bff2f        jupyterhub/jupyterhub   "jupyterhub"        30 seconds ago      Up 28 seconds       0.0.0.0:8000->8000/tcp   jupyterhub
    

    그런 다음 jupyterhub에 로그인하여 샘플 사용자를 만듭니다.
    bash-3.2# docker exec -it jupyterhub bash
    root@bd25d04bff2f:/srv/jupyterhub#
    root@bd25d04bff2f:/srv/jupyterhub# mkdir -p /home/robot/notebook
    root@bd25d04bff2f:/srv/jupyterhub# useradd robot
    root@bd25d04bff2f:/srv/jupyterhub# passwd robot
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    root@bd25d04bff2f:/srv/jupyterhub# chown -R robot:robot /home/robot
    root@bd25d04bff2f:/srv/jupyterhub#
    

    사용자를 준비한 후 필요한 패키지 설치
    root@bd25d04bff2f:/srv/jupyterhub# pip install robotframework robotkernel
    

    이것으로 준비가 완료되었습니다. 추가 내용을 반영하기 위해, 일단 docker 환경으로부터 변경을 commit 한다.
    bash-3.2# docker commit jupyterhub local/jupyterhub-rf:latest
    sha256:9107815c5eed5c32bff7f26e63f3217832bc8a772c7513c4042df4dfa2086c8d
    bash-3.2# docker images | grep jupyter
    local/jupyterhub-rf       latest              9107815c5eed        9 seconds ago       1.04GB
    jupyterhub/jupyterhub     latest              64d82994fd55        7 days ago          932MB
    
    jupyterhub를 중지하고 새로 만든 컨테이너를 시작합니다.
    bash-3.2# docker stop jupyterhub
    jupyterhub
    bash-3.2# docker rm jupyterhub
    jupyterhub
    bash-3.2# docker run -p 8000:8000 -d --name jupyterhub local/jupyterhub-rf:latest jupyterhub
    79c5ff202ba9f8607fa48767ce9ed9b3b84df1f1a3f56c3e3c196f3e038c18cf
    

    이것으로 환경 준비가 완료되었습니다.

    이용 개시



    브라우저에서 로컬 호스트의 8000에 액세스( htp://127.0.0.1:8000 )하고 만든 계정(robot/입력한 비밀번호)으로 로그인






    jupyterbook 사용에 대한 자세한 내용은 생략하지만 notebook를 선택하고 오른쪽 상단의 New
    그림과 같이, 종래대로, 곧 robotframework의 케이스를 작성, Robot Framework 로 실시할 수 있다.


    위의 Shift-Enter 또는 Log 링크를 선택하면 평소 RF 보고서를 볼 수 있습니다.


    덧붙여서, 이 jupyterhub에서는, kernel를 변경하면, Report 의 테스트도 할 수 있다.

    요약



    docker에서 jupyterhub와 robotframework 커널을 쉽게 시도하는 방법을 설명했습니다. 시도하는 것이 좋지만, 본격 이용하기 위해 보안, 계정 관리, book의 저장 방법 등을 고려하는 것이 좋다 (자세한 내용은 아래의 jupyterhub 사이트에서 참고하는 것)

    참고


  • jupyter notebook 사이트
  • jupyterhub docker 사이트
  • 좋은 웹페이지 즐겨찾기