開発フロー
個々の開発
各開発でのフローを上図に示した。
- Gitからソースコード及び、コンテナの設計図であるDockerfileをPull(ダウンロード)する。
- 開発者がDockerfileをbuildし、コンテナを立ち上げ、ソースコードをコンテナにマウントし、コンテナ内で開発を行う。
- 開発したソースコードをコンテナ内からGitにPush(アップロード)を行う。(Dockerfileの変更後は適宜GitへPush)
- 1~3を繰り返す。
統合テスト
統合テストのフローを上図に示した。
- Gitからソースコード及び、コンテナの設計図であるDockerfile、各コンテナを同時に動かすための設計図であるdocker-compose.ymlをPull(ダウンロード)する。
- 開発者がdocker-compose.ymlを用いて、コンテナを立ち上げ、ソースコードをコンテナにマウントし、コンテナ内で動作テストを行う。
タスク
- それぞれのコンテナの環境設定
- ライブラリ
- バージョン
- Dockerfileの作成
- docker-compose.ymlの作成
VS Codeを使用しての開発
拡張機能 Remote-Containers
コンテナ内でVS Code Serverを立ち上げホストOSのVS Codeと通信によりローカル環境での開発が可能になる点、
コマンドを用いて、コンテナを立ち上げる必要もなくなるという利点をもつ。
拡張機能インストール
拡張機能から'Remote-Containers'をインストール
環境構築
任意のフォルダ(ここでは、Project)を作成し、その配下に.devcontainerというフォルダを作成します。
.devcontainerフォルダの中に、devcontainer.jsonとDockerfileを作成します。
Project
└ .devcontainer/
├ devcontainer.json
└ Dockerfile
devcontainer.json、Dockerfileにそれぞれ以下を記述します。
{
"name": "Python Sample",
"dockerFile": "Dockerfile", // Dockerfileでイメージ・コンテナを作成
"extensions": [ //リモート先のVS Codeにインストールする拡張機能
"ms-python.python"
]
}
FROM python:3.6
左下の緑の><マーク?をクリックする。
一番上のOpen Folder in Containerをクリックし、Projectフォルダを選択すると、コンテナが立ち上がる。
作成したコンテナにPythonがインストールされているのを確認する。
もし、Pythonの拡張機能にこのような表示が出ている場合には、クリックし、インストールします。
Python動作確認
Project
├ test.py
└ .devcontainer/
├ devcontainer.json
└ Dockerfile
Project配下にtest.pyを作成し、以下を記述します。
print("Hello World!!")
Hello World!!が出力されれば、成功です。
参考文献