結論
.github/workflow
配下に以下のようにYAMLを配置する。
name: CVE Rooster CI on: push jobs: unittest: name: Check Code Format And Unit Test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Set Up Python3 uses: actions/setup-python@v2 with: python-version: '3.7' architecture: x64 - name: Install Python Packages run: pip3 install -r requirements.txt - name: Start Docker Compose run: docker-compose up -d - name: Check Code Format run: tox -e flake8 - name: Unit Test run: tox -e testapp
説明
いくつかポイントだと思った箇所を説明する。
サーバー上にGitリポジトリをcloneする
以下の2行が該当する。
※ 「name」はやることに名前をつけているだけなので、何でもよいし、なくてもよい。
- name: Checkout uses: actions/checkout@v2
前提として、Github Actionsでは、Github Actionsが実行されるサーバー上にGitリポジトリをcloneしたり、プログラミング言語をインストールする場合には以下の公式が提供しているリポジトリを使うことができる。
サーバー上にGitリポジトリをcloneする場合は、actions/checkoutというリポジトリを使用する。
この行では、
ということをやってくれている。
@の後ろの部分に関しては、バージョンを必ず指定しなければならない。
現在の最新版は2系なので、バージョン2を指定している。
※ プロダクションコードで運用する場合は、マイナーバージョンまで固定した方が良いのだろうが、今回は対象が自作のおもちゃアプリなのでメジャーバージョンのみ指定している。
Pythonをセットアップする
以下の部分がPythonをセットアップしている部分である。
- name: Set Up Python3 uses: actions/setup-python@v2 with: python-version: '3.7' architecture: x64
こちらも、公式がPythonセットアップ用のリポジトリを提供してくれているので、それを使用する。
使い方は公式ドキュメントに記載されている。
※ setup-python@v2
は「setup-python」のバージョンであって、Pythonのバージョンが2系という意味ではない。
Docker Composeを起動する。
Docker Composeはサーバー上にコマンドが既にインストールされているので、以下のように、実行したいコマンドを書くだけでよい。
- name: Start Docker Compose run: docker-compose up -d
ポイントは以上