🧐
CircleCI使ってみた
試してみた感想
- CircleCIを初めて(正確には何度か利用している・・・)使ってみました。
- 他のCIツールと比較してどういったところが良いのか理解したいためにサンプルを作成してみました。
(まだ、利点はわかっていない・・・) - 今回は、MacOSのDocker for macを用いて、オリジナルのDocker imageを作成しつつCircleCIを実行してみました。
- CI/CDの勉強にもなるし、実際デプロイしてみてGithubとの連携をみると、やっぱり自動化って良いな〜とあらためて思いました。
- またCircleCIについて記事書きます。
- Docker imageは適宜変更する必要があります。
- 一応作ったDockerfileも載せておきます。
Step below
Install CircleCI for Mac OS
- brew install circleci
Create Dockerfile & Docker-compose.yml
# Docker file
FROM python:3
USER root
# TEST RUN
RUN apt-get update
RUN apt-get -y install locales && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm
RUN apt-get install -y vim less
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
WORKDIR /code
COPY ./requirements.txt /code
RUN pip install -r requirements.txt
WORKDIR /var/www/src/
COPY src/ /var/www/src/
# docker-compose.yml
version: '3'
services:
python3:
restart: always
build: .
container_name: 'python3'
working_dir: '/root/'
tty: true
volumes:
- ./opt:/root/opt
- ./src:/var/www/src
Create .circleci/config.yml
# config.yml
version: 2.0
jobs:
build:
docker:
- image: taktak03docker/ci_app_python3:0.0.7
steps:
- checkout
- run:
name: Install Docker Compose
command : |
curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
chmod +x ~/docker-compose
mv ~/docker-compose /usr/local/bin/docker-compose
- run:
name: cat command
command: |
cat /var/www/src/tests/test_b.py
- run:
name: call pytest
command: |
pytest test_b.py
Run circleci
- circleci local execute
FYI
cat requirements.txt
pytest
Discussion