0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

時間割アプリの説明(技術寄り)

Posted at

docker

docker を使うことで、クラウド上で簡単に構築できるようにしている。database 用のデータは public にしてはいけないので、初期化用の sql は scp で送信して、docker compose の volume bind を用いた。

公開化

データを隠す必要がある。docker で mysql を 2 つ立ち上げてもよかったが、クラウドの無料枠を使いたいため、スペック上の問題で 1 つの sql, 2 つの database とした。アプリは公開用と内部用 2 つ立ち上げた。
もちろん user を分けないといけないので、初期化の sql 文で公開用データにアクセスするユーザーを作成、docker compose の env_file で 2 つのアプリに設定する環境変数を変えて、同じ docker image を用いるようにしている。
公開用データベースも、内部用データベースの初期化 sql を変えると自動的に(クラウドに上げる手順の中で)変わるようにして、公開用のためだけのメンテナンスは基本いらないようにしている。

gcp への移行

aws は無料期間が過ぎたため、gcp に移ることでコスト削減を図った。

CI/CD

CI は commit, push 時に githooks で導入した。
commit 時は golangci-lint, push 時は go test と go build ができるかどうかをチェックしている。

CD は merge 時(PR 後ブランチ削除時)に github actions で導入した。
gcp に移行出来ていない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?