don't stop believing

gauge 개발 환경 만들기 1 (by Docker) 본문

Testing Automation/Gauge

gauge 개발 환경 만들기 1 (by Docker)

Tongchun 2018. 6. 1. 15:41

Gauge를 이용해 API 자동화를 하려고 합니다.

https://www.gauge.org


Gauge는 여러 개발언어를 지언하지만 저는 python으로 할거고 Docker에 올려서 테스트 진행할껍니다.


먼저 docker python:latest 이미지를 다운 받습니다.

1
$ docker pull python:latest
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

docker image가 잘 받아졌는지도 확인하고 넘어갑니다.

1
2
3
4
5
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python latest 29d2f3226daf 3 weeks ago 912MB
swift latest e8dc956c3315 4 weeks ago 1.35GB
ubuntu latest 452a96d81c30 4 weeks ago 79.6MB
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

python 이미지를 실행시켜 Container로 접속하겠습니다.

1
$ docker run -it --name ngleGauge python:latest /bin/bash
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Container에 접속되었다면 Linux 버전을 확인해 봅시다.

1
2
3
4
5
6
7
8
9
# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

python과 pip 버전도 확인해 봅시다.

1
2
3
4
# python --version
Python 3.6.5
# pip --version
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

이제 gauge를 설치할 차례입니다. 아래 url에 OS에 따라 설치 가이드가 나와있습니다.

https://gauge.org/get-started.html


Linux 설치명령대로 설치해 줍니다.

먼저 gauge repository와 key를 받습니다.

1
2
# apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-keys 023EDB0B
# echo deb https://dl.bintray.com/gauge/gauge-deb stable main | tee -a /etc/apt/sources.list
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

이후 apt-get update를 하기전에 https에 대한 라이브러리를 설치합니다. 그 후 apt-get update를 합니다.

1
2
# apt-get install apt-transport-https
# apt-get update
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

이제 gauge를 설치 합니다.

1
# apt-get install gauge
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gauge가 정상적으로 설치 되었는지 버전을 확인합니다.

1
2
3
4
5
6
7
8
# gauge version
Gauge version: 0.9.8
Commit Hash: c23df9f
Plugins
-------
No plugins found
Plugins can be installed with `gauge install {plugin-name}`
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

이제 기본적인 plugin을 설치해 줍니다.

설치할 plugin은 python과 html-report입니다.

1
2
# gauge install python
# gauge install html-report
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gauge와 gauge plugin들은 아래 github url에서 확인할 수 있습니다.

https://github.com/getgauge


다시 버전을 확인하면 설치된 plugin을 확인할 수 있습니다.

1
2
3
4
5
6
7
8
# gauge version
Gauge version: 0.9.8
Commit Hash: c23df9f
Plugins
-------
html-report (4.0.4)
python (0.3.2)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

여기까지 기본 설치가 되었으니 Container로 Docker image를 하나 만들어 둡니다.

Container를 종료하고 Mac에서 Container 리스트를 확인합니다.

1
2
3
4
5
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
01c97b9822d6 python:latest "/bin/bash" 3 hours ago Exited (0) 8 seconds ago ngleGauge
b3d428a25b93 swift:latest "/bin/bash" 47 hours ago Exited (127) 5 hours ago swiftEasy
6177638bf393 ubuntu:16.10 "/bin/bash" 47 hours ago Exited (100) 47 hours ago swiftFun
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

방금 설정한 ngleGauge라는 Container를 확인할 수 있습니다. 이걸 image로 만듭니다.

이미지 이름은 nglegauge tag는 0.0.1로 하겠습니다.

1
$ docker commit -a "tongchun " -m "default setting for gauge" ngleGauge nglegauge:0.0.1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

이미지가 생성되었는지 확인해 봅니다.

1
2
3
4
5
6
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nglegauge 0.0.1 521e7493588b Less than a second ago 965MB
python latest 29d2f3226daf 3 weeks ago 912MB
swift latest e8dc956c3315 4 weeks ago 1.35GB
ubuntu latest 452a96d81c30 4 weeks ago 79.6MB
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

이미지까지 만들었으니 docker에 upload도 해봅시다.

docker cloud에 올리려면 먼저 docker cloud에 repository를 만들어 줘야 합니다.

https://cloud.docker.com/ 에서 로그인 후 repository를 만들어 줍니다. 저는 tongchun/nglegauge로 만들었습니다.

repository를 만들었다면 tag를 생성하고 push로 upload합니다.

1
2
$ docker tag nglegauge:0.0.1 tongchun/nglegauge:0.0.1
$ docker push tongchun/nglegauge:0.0.1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

다시 docker cloud 페이지를 확인하면 0.0.1로 잘 올라간 것을 확인할 수 있습니다.

nglegauge 0.0.1의 docker image를 다운받고 싶다면 아래처럼 pull 명령으로 다운받을 수 있습니다.

1
$ docker pull tongchun/nglegauge:0.0.1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


여기까지 Docker (Linux)에 gauge 설치였습니다.