2月の井戸もくでは、ベースとなる機能のコーディング方針について、ディスカッションしながら決めていけるように、コードの共同編集ができるという AWS Cloud9 を使ってみることになりました。
2月の井戸もくでは、ベースとなる機能のコーディング方針について、ディスカッションしながら決めていけるように、コードの共同編集ができるという AWS Cloud9 を使ってみることになりました。
コードの共同編集が目的ということで、複数のユーザーに Cloud9 にアクセスしてもらう必要があるため、まずは、AWS IAM(Identity and Access Management)で、Cloud9だけにアクセスする事ができるユーザーを発行します。
次に、Cloud9 環境を構築し、画面右上の「Share」ボタンより、追加したユーザーを招待します。
これだけで、共同編集環境が作れました。便利!!!
Cloud9の環境である EC2 では、git は最初から使えるようになってましたので、GitHubより、cloneして展開。
実行の部分で手間取りました。初期状態では、どうやら PHP の built in server し動作しない様子。
built in server では、.htaccess が動作しないため、CakePHP が動かない。
時間もなくしかたがないので、この状態で、まずは、各機能仕様をどうコメントに記載していくかということをコードを見ながら話し合いました。
@gondoh さんの意見として、日本語でダラダラと仕様定義を書いていく事は、個々人の文書表現レベルに依存するため好ましくないとの事。
まずはレギュレーションを決めることになり、共同編集でレギュレーション定義のドキュメントを作ります。
今回は Cloud9 のお試しがメインという事もあり、ドキュメントはあまり進みませんでしたが、次のようなものを作り、この日の井戸もくは終了。
井戸もくでは、プログラムを動作させることができませんでしたが、その後、気になって気になって、動作できるようチャレンジ。
PHP built in server では、CakePHP が動かないので、別途、Apacheを動作させるように調整しようかとも考えましたが、調べたところ、どうやら、Cloud9 は、あくまで開発環境用ということで、デフォルトでは、8080 - 8082 のポートしか開放していない様子。
他のポートを開けるとなると、EC2側のセキュリティ設定の変更等が必要なり面倒なのでやめました。
そこで、Docker です。baserCMSの docker-compose では、4つのコンテナを立ち上げるようになっているのですが、docker-compose.yml で、開放されたポートをうまく割り当てることで、すんなり動作しました。
もう一つのコンテナの MySQLは、コンテナ側のネットワークで簡潔するのでポートの割当はなし。
次のドキュメントにまとめましたので、興味ある方はご覧ください。