Windowsでの開発方法

大まかな流れ

主に必要なプログラムはDockerとGitです。 それぞれどのようなものかざっくりと説明すると、

  • Dockerは共通の開発用マシン(コンテナ)をそれぞれのPCで構築できるプログラム
  • Gitは複数人でプログラムを書くときに特に有用なバージョン管理ツール

となります。詳しい説明はネット上にたくさんあるので、ググってみてください。

これらをインストールした上で、以下の流れで開発をします。

  1. Dockerのコンテナを立ち上げる
  2. Gitで管理しながらプログラムを書く
  3. devenvのscripts/ディレクトリにあるスクリプトで、Dockerを通しテスト等を行う
  4. push、PR作成

ここからは、それぞれについてOSごとに解説します。

手順0:DockerとGitのインストール

  • Windows 10 Pro、Enterprise、Education
    Docker Desktop for Windowsと、Git for Windowsをインストールします。
  • その他のWindows
    Docker Desktopが動作しないので、Docker Toolboxというプログラムを利用し、VirtualBoxの中でDockerを走らせることにします。
    Gitは同梱されています。

手順1:Dockerのコンテナを立ち上げる

まず最初に、開発環境が含まれるdevnevリポジトリをクローンします(Gitの解説はこの記事では行いません)。

> git clone https://github.com/Sakuten/devenv --recursive

ここからDockerを起動します。

  • Windows 10 Pro、Enterprise、Education
    devenvディレクトリに移動して、.\scripts\start.ps1を実行すればOKです(※)。
  • その他のWindows
    Docker Toolboxをインストールした時に、Docker Quickstart Terminalというリンクがデスクトップとスタートメニューに追加されています。
    これを右クリックして「管理者として実行」をクリックします。
    これによってVirtualBoxがバックグラウンドで立ち上がるので、しばらくしてクジラのアスキーアートが出てくることを確認したら、閉じて構いません。
    このあとはdevenvディレクトリで、.\scripts\start.ps1を実行してください(※)。

※初回はDockerコンテナのビルドが行われるため、時間がかかり、エラーも発生するかもしれないので、以下の手順を踏むことをおすすめします。

> .\scripts\build.ps1
> docker-compose up

上記の作業がうまくいっていれば、ブラウザでhttp://localhost:8000を開くと、創作展Web抽選システムのトップページが表示されるはずです。 ※Docker Toolboxを利用した場合はhttp://192.168.99.100:8000/が開きます。

手順2:Gitで管理しながらプログラムを書く

実際に動かすプログラムは、フロントエンドならdevenv/frontend、バックエンドならdevenv/backendのディレクトリでGitにより管理されています。各ディレクトリで、以下の流れで開発を行います。

Gitの解説はここでは行わないので、わからない単語は適宜Discordで聞くか、Googleで調べてください。

初回は以下のコマンドを実行してから開始してください。 GitHubアカウントの作成も忘れずに。

> git checkout develop
> git pull origin develop
> git flow init -d
  1. GitHubに上がっているIssueの中から自分が担当するものを決め、自分をassignします。
  2. git flow feature start xxx-some-feature-nameと入力します。xxx-...となっている部分は、何の変更かわかるように名前をつけてください。
  3. ひとまとまりの作業(1ファイル・1挙動の追加・編集)ごとにコミットします。

手順3:Dockerを通しテスト等を行う

機能の追加・変更を行うたび、そのためのテストを作り、正しく動作するか確かめましょう。

テストプログラムに、他のテストの書き方にならってテストを追加します。テスト関連のファイルは、フロントエンドはsrc/内の__test__、バックエンドはtest/ディレクトリにあります。わからないことがあれば、手っ取り早く他の開発者に質問するか、テストを書いてもらうのもありでしょう。

テストは、devenv/ディレクトリに移動してから、以下のコマンドで行います。

 > .\scripts\unit_test.ps1 [frontend|backend]

テストがすべて通る状態になったら、最後の手順に移ります。

手順4:push、PR作成

git push origin feature/xxx-some-feature-nameとして、GitHubリポジトリにpushします。

この状態でGitHubのページを開き、PR(プルリクエスト)を作成してください。

書き方は見ればわかると思います。

このPRがmoderatorの人たちにapprove(認証)されると、書いたプログラムは採用され、作業はおしまいです。

お疲れ様でした。

Docker Toolboxを使った場合の補足

  • Docker Quickstart Terminalでも、PowerShellの代わりとして、 Gitやscripts/以下のスクリプトを走らせることができます。
  • バックグラウンドでVirtualBoxが走り続けているため、 シャットダウンするときに「VirtualBoxがシャットダウンを妨げている」というような画面が出てくるでしょう。 無視して強制的にシャットダウンしても問題はないのですが、気になるようであれば、 docker-machine stop defaultを実行しましょう。

results matching ""

    No results matching ""