RareTECH受講生が投稿したQiita, Zenn等の記事を収集する記事プラットフォーム
| Frontend | Backend | Infra |
|---|---|---|
-
環境変数ファイルの準備
.envファイルをルートディレクトリに作成し、以下の情報を記載してくださいMYSQL_ROOT_PASSWORD=root MYSQL_DATABASE=techhub_db MYSQL_USER=testuser MYSQL_PASSWORD=testuser TZ=Asia/Tokyo DEBUG=True
-
Docker イメージのビルド
- 初めて実行する場合、以下のコマンドで Docker イメージをビルドします
docker compose up --build
- 初めて実行する場合、以下のコマンドで Docker イメージをビルドします
-
コンテナの起動
- アプリケーションを起動するには、以下を実行してください
【本番環境】
docker compose up
- バックグラウンドで実行したい場合
【開発環境】
docker compose up -d
docker compose -f compose.dev.yaml up --build
- アプリケーションを起動するには、以下を実行してください
【本番環境】
-
ブラウザでアクセス
- 以下の URL にアクセスして、アプリケーションを確認します
http://localhost:8080/techhub/(Nginx 経由)- Hello E-tema!と表示されます
- 以下の URL にアクセスして、アプリケーションを確認します
- コンテナの停止
- 起動中のコンテナを停止するには以下を実行
【開発環境】
docker compose down
docker compose -f compose.dev.yaml down
- 起動中のコンテナを停止するには以下を実行
-
ログの確認
-
コンテナのログを確認するには以下を実行
docker logs <container_name>
例:
docker logs django docker logs nginx docker logs mysql
-
ネットワークの状態確認
docker network inspect dev_network -
1. ローカルでブランチを作成。ブランチ名は「自分の名前#issue番号」 例)fuji#1
2. コードを編集
3. コミットする。コミットメッセージには「#issue番号」をつける
例)git commit -m ‘#1ログイン機能追加’
4. リモートへgit pushする
5. プルリクする。レビュワーは特に指定せず、見れる人が見てdevelopにマージする。(レビュワーが勝手に設定されて外せないことがあるようで、その場合はそのままプルリクする。レビュワーじゃない人でもマージは可能。)
-
.env ファイルがあることを確認(.env ファイル中身については当ファイルの上部を参照)
-
以下のコマンドでコンテナ内で migrate する
docker exec -it django-dev python3 manage.py migrate
これにより MySQL コンテナ内に DB が migrations ファイルにより作成される。 -
static ファイルをまとめて staticfiles ディレクトリに集める → これをすると管理画面に CSS があたる staticfiles ディレクトリに 140 くらいのファイルが作成される。admin 関係のファイルもあるから、びっくりしない。
docker exec -it django-dev python3 manage.py collectstatic -
本当に DB できてるか確認するなら以下のコマンドで MySQL コンテナに入る
docker exec -it mysql bash mysql -u testuser -pパスワードは.env 参照
mysql から出る時は exit -
Django 管理画面が使用できるように superuser 設定
docker exec -it django-dev python3 manage.py createsuperuser -
Feed 情報 Django 管理画面で以下を設定
Qiita http://qiita.com/{account_name}/feed.atom
Zenn https://zenn.dev/{account_name}/feed -
Djnago 管理画面 :localhost:8001/admin/
techhub サイト :localhost:8001/techhub/
accounts 関係 :localhost:8001/accounts/ -
記事取得コマンドはカスタムコマンドで設定
docker exec -it django-dev python3 manage.py fetch_articles

