🧐

CircleCI使ってみた

2021/06/26に公開

試してみた感想

  • 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

Directory Structure

Discussion