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.

Github管理下のDjangoプロジェクト(mysql使用)をherokuに構築する(Part2)

Last updated at Posted at 2021-09-12

2023/02/01現在、herokuは無料プランの提供を終了しており、有料プランのみの提供となっています。

この記事の続きです。

2. GitHubの設定

次に、先ほど書いたコードをGitHubにアップします。
なお、本記事ではローカル環境へのGitインストール、GitHubアカウント作成等のステップは省略します。
なお、heroku Gitを使う場合はこの項目はスキップしてください。

2-1. リポジトリ作成

いつものページから新たに作成。
今回は既存のフォルダからそのままコミットするので空のリポジトリを作ります。

2-2. 1で作ったコードのpush

[heroku_pj]の作業ディレクトリで以下のコマンドを叩きます。

zsh
% 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のSign upページ

herokuアカウントにクレジットカードを未登録の場合は、必ず登録してください(MySQLの利用に必要です。PostgreSQLでいい場合は不要)。

3-1-2. heroku CLIのインストール

ローカルにheroku CLIをインストールします。

zsh
% brew tap heroku/brew && brew install heroku

3-2. herokuアプリケーションの作成

今回のサイトを作成します。

zsh
% heroku login
# ここでブラウザが開き、ログインする
% heroku create [heroku-pj]

3-3. ClearDBの設定

herokuでMySQLを利用するには、ClearDBと呼ばれるサービスを用いるのが便利です。

3-3-1. ClearDBをherokuアプリケーションに追加

herokuアプリケーションにClearDBを追加します。今回はIgniteという無料プランを適用します。

zsh
% heroku addons:create cleardb:ignite

3-3-2. DB情報を環境変数に設定

続いて、DBの情報をherokuアプリケーションの環境変数に登録します。
ここで登録した値はコード上のos.environ['key']で取得できます。

まず、必要な情報を取得します。heroku configで確認できるCLEARDB_DATABASE_URLの値を確認してください。

zsh
% heroku config
=== [heroku-pj] Config Vars
CLEARDB_DATABASE_URL: mysql://[ユーザー名]:[パスワード]@[ホスト名]/[データベース名]?reconnect=true

上記の値を以下のように設定します。

zsh
% 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. その他の環境変数の設定

zsh
% 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されるたびに自動デプロイを走らせることができます。

  1. ブラウザでheroku.comにアクセスし、ログイン

  2. ダッシュボードから今回作成したアプリケーションを開き、Deployタブを選択

  3. 「Connect to GitHub」をクリックし、GitHubの認証にログイン

  4. 認証したら以下のテキストボックスにリポジトリ名を入力し、「Search」をクリック
    Connect to GitHub_Search.png

  5. 表示されたリポジトリを「Connect」する

  6. 「Automatic deploys」の項目で「Enable Automatic deploys」をクリック
    Enable Automatic deploys.png

これで自動デプロイの設定が完了です。
今回は既にリモートにpushしているので、手動でデプロイします。
やり方はManual Deployから「Deploy Branch」をクリックするだけです。
Manual Deploy.png

最後に

これで一通りのデプロイは完了となります。

気が向いたらトラブルシューティングについても書きたいと思います。

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?