2023/02/01現在、herokuは無料プランの提供を終了しており、有料プランのみの提供となっています。
この記事の続きです。
2. GitHubの設定
次に、先ほど書いたコードをGitHubにアップします。
なお、本記事ではローカル環境へのGitインストール、GitHubアカウント作成等のステップは省略します。
なお、heroku Gitを使う場合はこの項目はスキップしてください。
2-1. リポジトリ作成
いつものページから新たに作成。
今回は既存のフォルダからそのままコミットするので空のリポジトリを作ります。
2-2. 1で作ったコードのpush
[heroku_pj]の作業ディレクトリで以下のコマンドを叩きます。
% git init
% git remote add origin [リポジトリのSSHリンク]
% git add .
% git commit -m "Initial commit"
% git push -u origin main
GitHubでやることは以上です。
3. heroku設定
続いてはherokuの設定です。
3-1. 初期設定
herokuを使ったことがあり、heroku CLIのインストールが済んでいる人は飛ばしてください。
3-1-1. herokuアカウントの作成
herokuアカウントにクレジットカードを未登録の場合は、必ず登録してください(MySQLの利用に必要です。PostgreSQLでいい場合は不要)。
3-1-2. heroku CLIのインストール
ローカルにheroku CLIをインストールします。
% brew tap heroku/brew && brew install heroku
3-2. herokuアプリケーションの作成
今回のサイトを作成します。
% heroku login
# ここでブラウザが開き、ログインする
% heroku create [heroku-pj]
3-3. ClearDBの設定
herokuでMySQLを利用するには、ClearDBと呼ばれるサービスを用いるのが便利です。
3-3-1. ClearDBをherokuアプリケーションに追加
herokuアプリケーションにClearDBを追加します。今回はIgnite
という無料プランを適用します。
% heroku addons:create cleardb:ignite
3-3-2. DB情報を環境変数に設定
続いて、DBの情報をherokuアプリケーションの環境変数に登録します。
ここで登録した値はコード上のos.environ['key']
で取得できます。
まず、必要な情報を取得します。heroku config
で確認できるCLEARDB_DATABASE_URL
の値を確認してください。
% heroku config
=== [heroku-pj] Config Vars
CLEARDB_DATABASE_URL: mysql://[ユーザー名]:[パスワード]@[ホスト名]/[データベース名]?reconnect=true
上記の値を以下のように設定します。
% heroku config:add DB_CONNECTION='mysql'
% heroku config:add DB_NAME='[データベース名]'
% heroku config:add DB_USERNAME='[ユーザー名]'
% heroku config:add DB_PASSWORD='[パスワード]'
% heroku config:add DB_HOSTNAME='[ホスト名]'
% heroku config:add DB_PORT='3306'
% heroku config:add CLEARDB_DATABASE_URL='mysql://[ユーザー名]:[パスワード]@[ホスト名]/[データベース名]'
3-4. その他の環境変数の設定
% heroku config:add SECRET_KEY='[settings.pyに書かれていたSECRET_KEY]'
% heroku config:add DJANGO_SETTINGS_MODULE='heroku_pj.settings.production'
-
DJANGO_SETTINGS_MODULE
の設定は、heroku環境でpython manage.py
コマンドを使用するのに必要になります。
3-5. GitHubとの連携設定
heroku Gitを使わずに、herokuアプリケーションをGitHubに連携する方法です。
この方法により、GitHubのmainブランチにpushされるたびに自動デプロイを走らせることができます。
-
ブラウザでheroku.comにアクセスし、ログイン
-
ダッシュボードから今回作成したアプリケーションを開き、Deployタブを選択
-
「Connect to GitHub」をクリックし、GitHubの認証にログイン
-
表示されたリポジトリを「Connect」する
これで自動デプロイの設定が完了です。
今回は既にリモートにpushしているので、手動でデプロイします。
やり方はManual Deployから「Deploy Branch」をクリックするだけです。
最後に
これで一通りのデプロイは完了となります。
気が向いたらトラブルシューティングについても書きたいと思います。