はじめに Djangoで作ったアプリケーションをHerokuを使ってデプロイする方法。 開発環境 ・mac os ・Django==3.2.6 ・python==3.9.1 ・Heroku CLIインストール済 Heoku上にアプリケーションを作成・gitの紐づけ Ⅰ. herkou上にアプリケーションを作成
ども、@kimihom です。 急に Heroku での Node.js アプリのデプロイが失敗したので、その原因と(一次)対応について記しておく。 問題 いつも通り、git push heroku master でデプロイしたところ、以下のようなエラーが発生するようになった。 remote: -----> Installing binaries remote: engines.node (package.json): 15.x remote: engines.npm (package.json): unspecified (use default) remote: remote: Resolving node version 15.x... remote: Downloading and installing node 15.14.0... remote: Using default n
こんにちは、インフラ部の id:sue445 です。私事ですが先日GCPの Professional Cloud Architect を取得しました。 そういうわけで今日はGCPではなくAWSの話をします。 tl;dr; 劇的ビフォーアフター 構成 移行のモチベーション パフォーマンス向上 コスト圧縮 アーキテクチャの採択理由 やったこと 1. DB作成 2. MySQL 5.7 -> 8.0 MySQL 8.0でハマったこと MySQL 8.0からデフォルトの認証がcaching_sha2_passwordになった RDSのMySQL 8.0からMariaDB 監査プラグインがなくなった 3. 本番用のDockerイメージを作成 困ったこと:CodeIgniterがログの標準出力に対応していなかった 4. ECS + Fargate + CodePipeline構築 5. CDN作成 6
ども、@kimihom です。 先日、Heroku Postgres の Hobby プランを使っていたら、急に DB へのアクセスが遅くなった事象が発生した。その原因と対応について記しておく。 問題の原因 まず、どんなときに遅くなったのかというと、1つのレコードに大量のデータが入ったときだった。それ以降、Heroku Addnons の NewRelic や Scout APM などのアドオンで重たい原因となっている部分を調べたところ、Active Record(DBアクセス) で 90% 以上の時間を費やしていることがわかった。 Postgres のレコードのカラムを text 型で保存し、そのカラムに大量の文字をテストで入れて保存してから、急にデータアクセスが遅くなってしまったのだった。そのデータは、ページロード時に読み込まれるデータであり、とりわけ Heroku Dyno を再起動
はじめに こんにちは。inductorです。 GCPのCloud Runはご存知でしょうか。世界一簡単に単一のコンテナをデプロイできるサービスだと私は考えています。 さて、以下のようなリリースノートの通知があって、Cloud RunがGitと連携して更新まで自動でできるようになったみたいです。 Continuous deployment from Git using Cloud Build まとめるとこんな感じのことが書いてあります Cloud Buildのトリガーを使用して新しいコミットがGitリポジトリの特定のブランチにプッシュされるたびにコードを自動的にビルドしてデプロイすることで、ビルドとCloud Runへのデプロイを自動化できます。 Cloud Buildトリガーを使用してコンテナをビルドすると、Cloud Runにデプロイした後、ソースリポジトリ情報がサービスのCloud C
※この記事は2018年9月に公開後、herokuのバージョンアップを受けての変更点を反映させた内容になります。(2018年10月31日時点) 独自ドメインで公開したい 最近herokuを使って独自ドメインを公開するということがあり、少し調べていましたが、いまいちまとまったものがないことと、あまり最新のものがなかったので改めて書いてみようと思いました。 この記事で書くことと書かないこと この記事では初めて独自ドメインを公開する、、、!という人に向けて、 簡易に独自ドメインを公開するまでの最短のプロセスを記そうと思うので、 herokuでやりやすい、サブドメイン(wwwがついてるもの)の公開の仕方を書こうと思います。 ルートドメインの公開の仕方に関しては次回の記事で書こうと思います。 前提 すでにドメインはバリュードメインやお名前.comを使って取得しているものとする herokuはhobby
Heroku で既存アプリを扱う $ heroku create をしてその流れの中でアプリを扱う説明はよく見かけるのですが、すでに存在しているアプリをまっさらな環境にもってくる場合はあまり見かけなかったので書いておきます。なお、 Heroku CLI の準備はできているものとします。 heroku apps でアプリ一覧の情報を得る $ heroku apps で現在存在するアプリの一覧が得られます。 $ heroku apps === your@mail.address Apps foo-bar-12345 hoge-fuga-98765 foobar-hogefuga-54321 heroku git:clone --app アプリ名 をすると「アプリ名」のファイルがダウンロードできる 前項の結果によりアプリ名が分かれば、$ heroku git:clone --app アプリ名 と
これまで作っていた麻雀ゲームをステートレスになるように 改良できたので早速Web上にアップしたいな〜と思っていろいろやりました。 一応公開まで出来たのでURLも置いときます。 良ければ触ってみてください!! https://lonlymahjong.herokuapp.com/ ↓こんな感じのを作りました〜。 アプリケーションプラットフォーム(サーバー)はHerokuを利用しました。 AWSなら現職でも使う機会があっていいかなーとも思ったんですが、 お金かかるから辞めました。(そのくらい払えよって話ですが…) せっかくなのでALL0円でやります! 使用技術 一旦開発にあたり使用した技術を整理します。 ◇開発言語 Python3 ◇サーバーサイドフレームワーク Flask ◇フロントエンドフレームワーク なし ◇開発OS mac ◇IDE pycharm ◇ソース管理 GitHub ◇アプリ
最近、Djangoで作ったプロジェクトへの機能追加やコードのリファクタリングをしていて、これを機にCircleCIを始めるべく、ver.2.1でherokuへのデプロイを自動化してみた。 ソースのgit管理とBitbucketへのpushは終わっていたので、CircleCIのサイトでリポジトリの連携を済ませる辺りは割愛。 CircleCIのCLIツールを入れた 後々、知りましたがCircleCIにはCLIツールがあった。ローカルで上手く実行できるかを試せたり(入れたCLIのバージョンでは、2.1のconfigファイルで実行するのは非対応)configファイルにバリデーションをかけられた。 pushしなくてもまず書き方があってるかを試せるので結構ありがたい。 今更CLIツールがあって、ローカルでバリデーションかけれるの知ったわ — こにたん (@skd_nw) January 16, 201
2012年04月17日 heroku コマンドに紐付いたアカウントを変更する heroku コマンドに紐づいているアカウントは最初の実行時に回答したものがずっと使われる。 私はたまたま最初は会社アドレスでアカウント登録をして、後から自分のgmailアドレスのアカウントを作ったのだけど、コマンド実行の対象アカウントをgmailアドレスの方に変更しようとしてかなりはまった。 まず、herokuコマンドには設定ファイルらしきものが見当たらない。heroku helpで設定画面を呼び出せるかと思いきや、それもなさそうだ。 そこで検索してみたところ、そのものずばりの方法を書いて下さっている方がいた。 Better Than Nothing:Heroku で使うアカウントを変更する方法 書いてある通りに、heroku keys:clear を実行してから ~/.heroku/credentials を
まず骨子となる WEB フレームワーク WEB サービスを作ろうというのですから WEB フレームワークを選ぶのがまず最初でしょう。ですが、個人で WEB 開発をする際には結局自分が一番慣れ親しんでいる言語のデファクトの WEB フレームワークを使うしかないでしょう。ここを適材適所で選べるようになるには上級者にならないといけないと思います。 とは言っても、Node.js での WEB 開発が他の言語と比べてめちゃくちゃ非効率な可能性を恐れて他の言語のフレームワークをいくつか触ってはみました。結果 JavaScript の細かい部品を組み合わせてすぐに捨てたり変えたりできる良さを発見し、JavaScript への愛が深まることになりました。 また、Node.js の WEB フレームワークも Express.js の次世代である Koa.js を使いたかったのですが日本語の情報量や既存のノウ
現象 DjangoアプリをHerokuにデプロイしている時に、 No module named 'MySQLdb' で詰まった。 Python3の時、PyMySQLでMySQLを使う場合に、manage.pyに と書くことがあり、ここでPyMySQLをMySQLdbという名前で読んでいるはずなので、No module named 'MySQLdb'というエラーが出る場合ここがおかしい。 環境 Python 3.6.3 Django 1.11.7 PyMySQL 0.7.11 gunicorn 19.7.1 原因 よく考えれば単純で、gunicornでWSGIサーバーを立てているので、この場合manage.pyが呼ばれてない。 ローカルで開発するときにpython manage.py runserverを叩いていて勘違いしてしまった。。。 manage.pyではなく、wsgi.pyに
(ref) Standard 1xまでは、1 Dynoに割り当てられるメモリは512MB 無料枠は全アプリケーション合計で月1000時間まで 現在(2016/06/01-)の料金体系では、Freeプランだと1アカウントあたりすべてのアプリケーションやアドオンを含めて1000時間までが無料枠となります(ref)。なので、例えば開発環境用と本番環境用で2つDynoを稼働していて、さらにnewrelicのアドオンを使用していると、その3つの使用時間の合計が1000時間になるまでが無料となります。よって、例えばwebアプリケーションを運用していてひと月常時稼働させようとすると、まず本番環境用のDynoだけで 24時間 x 30(日) = 720時間 ぶんを消費します。またFreeプランで常時稼働するためには上記の表にある30分sleep制限を回避するスクリプトなどを含める必要があるので、それもHe
概要 herokuやDjangoの公式のチュートリアルをやったけど、自分で一から作るとなると色々わからなかったので理解しながら作る 資料全体の構成はここに記載: GoogleHomeに話しかけてメモを記録したりメモを読み上げてもらう この資料はGoogleHome用のアプリとは直接関係ないのでほとんど飛ばしていいことしか書いていない Djangoのチュートリアル https://docs.djangoproject.com/ja/2.0/intro/tutorial01/#writing-your-first-django-app-part-1 herokuのチュートリアル https://devcenter.heroku.com/articles/getting-started-with-python#introduction リポジトリ https://github.com/herok
はじめに DjangoアプリをHeroku上で動かすときの備忘録として記録する。 その1ではDjangoアプリのスタートページ(It Workのページ)をHerokuで表示するところまでやる。 次回 DjangoアプリをHerokuにデプロイする[その2] 筆者の環境 macOS Sierra 10.12.5 Python 3.6.1 virtualenv 15.1.0 必要なもの Herokuアカウント 参考:Heroku初心者がHello, Herokuをしてみる virtualenvのインストール(python3環境にインストールされていること) 参考:virtualenvでpython環境を管理する 今回作るアプリの構成 今回作るアプリは以下の構成とする。 myProject ├── venv ├── Procfile ├── db.sqlite3 ├── manage.py ├─
はじめに PythonのWebアプリフレームワークDjangoを使ってherokuへのデプロイまでをやってみる。 初期設定 1.Python3系のインストールを確認する バージョンを確認する python --version pythonがどこにおいてあるか確認する which python ※macには2系がデフォルトで搭載されていますが2系は廃止されるので3系をインストールしましょう ※pythonインストールがまだだったら以下の記事などを参考にインストールしてみましょう https://qiita.com/ms-rock/items/72b8f1abc661c539bb09 2.Djangoのインストール Djangoの公式ページで最新版を確認してインストールできるが、 django-tool-beltをインストールすればデプロイに必要なものも含めて一括インストールできる。 djan
Vagrantの中に構築したDjangoプロジェクトに、アプリケーションとモデルを作成します。 Djangoのモデルとは? Djangoで言う「モデル」とは、サイトを構成するデータの唯一絶対的なデータソースです。モデルには、保存したいデータを表すデータフィールドと、データのビヘイビア(動作)を定義します。通常、一つのモデルは一つのデータベーステーブルに対応します。 モデルの基本 モデルの基本として、以下のような特徴があります。 各モデルはPythonのクラス。 各モデルはdjango.db.models.Modelのサブクラス。 モデルの各アトリビュート(属性)の値は、データベース上のあるフィールドを表現する。 モデルの情報をもとに、 DjangoはデータベースAPIを自動生成する。 作業の流れ 前回作成したプロジェクトに、startappコマンドでDjangoアプリケーションを生成します
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く