ローカルで作成したDjangoアプリをGitHubにプッシュしてみましょう。プッシュする前に機密情報を隠したり、使っているライブラリが記載されたテキストファイルを作成するなどちょっとだけやることがあります。
目次
機密情報の分離
Djangoアプリのsettings.pyにはSECRET_KEYやデータベース情報、使用している場合はAPIキーなどが記載されています。
こういった機密情報はハードコーディングしないよう、また、GitHubにアップしないよう分割して管理する必要があります。
今回はdjango-environを使った方法で機密情報を隠します。
Djangoアプリで環境変数をdjango-environで管理する
requirements.txt の作成
Webアプリケーションのデプロイではローカルにインストールしているライブラリと全く同じものをサーバー側でもインストールする必要があります。
手動でやると大変すぎるのでコンピュータにやらせましょう。
pip freeze > requirements.txt
WindowsPowerShellでやると文字化けが発生した。
Windows PowerShellでは、デフォルトのエンコーディングがUTF-16LEであるため、テキストファイルをUTF-8エンコーディングで保存する必要があります。
以下のようにコマンドを実行して、エンコーディングを指定して保存することができます。
pip freeze | Out-File -Encoding UTF8 requirements.txt
※ただしPyTorchを使っている場合は別環境でrequirements.txtを共有できないらしい。
DjangoプロジェクトをGit管理
Gitの導入
DjangoプロジェクトをGitの管理下に置きます。
GitBashでプロジェクトのルートディレクトリに入り次のコマンドを実行します。
git init
これでDjangoプロジェクトの変更履歴をGitで管理できるようになりました。
.gitignoreの作成
まずは .gitignore という名前でファイルをプロジェクトディレクトリ直下に作成します。
このファイルに記述されたファイルはGitの管理下から外れます。
要は前述の機密情報をGitHubにアップするわけにはいかないので除外します。
.gitignore の中身はファイル名をそのまま記述すればOKです。
.env venv . . .
といった具合です。
最初のコミットを行いましょう。
git add . git commit -m"hogehoge"
これでコミットできました。
Gitについては詳しくは弊サイトのGit入門をご参照ください。
GitHubにプッシュ
リモートリポジトリを設定してGitHubにプッシュします。
GitHubでリポジトリを作って、次のコマンドでリモートリポジトリとして登録。
git remote add origin 追加したいリポジトリのアドレス.git
プッシュします。
git push origin master
これでDjangoプロジェクトをGitHubにプッシュすることができました。