発表資料
不明な点があれば松本まで
GitCloneしてプロジェクトディレクトリ(todo_slack)に移動
docker-compose up して下記の通り接続できるか確認
localhost:3000 Node.js ("Welcome to Express" と表示される)
localhost:3000/testdb (contenstableの内容が出力されるか確認。コネクションプールを使用していないので、再読み込みすると落ちる。)
localhost:8080 phpmyadmin (DBコンテナの起動が遅いと接続失敗することあり。その場合少し待って再接続)
/app: アプリケーション本体
/db/init: データベースの初期データ投入用SQL
/api: SlackAPI関連のコード
/routes: Webアプリのサーバーサイド
/views: Webアプリのクライアントサイド
/public/stylesheets: スタイルシート
webアプリ開発チームは"dev_web", SlackAPI開発チームは"dev_api"からそれぞれ
- dev_web-作業名
- dev_api-作業名
でブランチを切って作業する。
作業後はそのままリモートにプッシュ。(ローカルでマージしない)
切り離した元のブランチにPullRequestを出す。(デフォルトのマージ先はmainブランチの点に注意)
各チーム内でコードレビューしてマージ。
db/init/api-init.sql に初期データ投入用SQL
各テーブルの定義はデータベース定義書 を参照
docker-compose down --volume でdocker volume ごとコンテナを削除した後、
docker-compose up する。
.envに記述
各コンテナの環境変数に設定済み
Node.js コンテナでは
- DB_HOST
- DB_USER
- DB_PASSWORD
- DB_DATABASE
にそれぞれ設定
process.env.hoge
で取得できる。
通常の接続は app/dbconnect.jsをインポートすることで呼び出せる。(参考: app/routes/test_output_db.js) コネクションプールやセッションは各自実装する。
dev_api にマージされると即時slackでテストできるよう、自動でサーバーにデプロイされる(予定)