RubyアプリケーションのPaaS。
サービス名称は,「Hero(ヒーロー)」+「Haiku(俳句)」から。
Ruby on Rails等のフレームワークが動作可能。
サービスはSalesforce.comの傘下にある。
Rubyの作者、まつもとゆきひろ氏がチーフアーキテクト。
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Herokuでデータベースを利用する際は、料金がかかります。 まずHerokuダッシュボードでDataをクリックします。 HerokuダッシュボードでDataをクリック postgresを選択します。 postgresを選択 postgresをインストールします。 postgresをインストール プランを選択してオーダーします。 [::w400alt=プランを選択してオーダー]プランを選択してオーダー 選択したプランを確認してください。 プラン確認 「Data」→「Settings」からデータベースを選択してください。 デ…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Herokuへの接続の確立、HerokuとGithubの接続、デプロイの方法等、順に解説していきます。まず、HerokuのダッシュボードページでRubyよりも先にnodeをインストールするよう指定をします。 これを行なっておかないと、Push時にエラーが出てしまいます。 Herokuのページで「Setting」に移動します。 Setting 下部にある「Buildpacks」で「Add buildpack」をクリックし、「node」が「Ruby」よりも先にくるよう追加してください。 Add Build Pack nodeが…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング nodeバージョン固定 Rails6.1での開発環境は以下のようになっています。Rails 6.1.7.6 Ruby 3.1.4 node 14.21.3 yarn 1.22.10 しかし、Herokuで利用されるnodeのバージョンが、Herokuで16.x系がデフォルトに変わりました。 この16.x系のnodeを使うと、Rails6.1ではnode-sass のビルドがエラーが出ます。 nodeのバージョンを「14.21.3」とし、「package.json」ファイルでバージョンを固定する必要があります。 「packa…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Rails6.1で開発を進め、いざデプロイしようとすると、以下のようなBundlerのエラーに遭遇しました。 BundlerエラーFailed to install gems via Bundler. このような時は、BundlerのバージョンをロックしてHerokuに知らせてあげるとエラーが出ないようになります。 コマンド bundle lock --add-platform x86_64-linux こうすることでGemfile.lockが更新されますので、GitHubにコミットしてHerokuにプッシュし直すとエラー…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング 以下のコマンドを実行して本番環境でのコンパイルテストを行います。 エラーが出るかどうか確認します。 コマンド rails assets:precompile RAILS_ENV=production もしエラーが出る場合、エラー内容に従って以下の修正を行なってください。 mrradiology.hatenablog.jp mrradiology.hatenablog.jp mrradiology.hatenablog.jp mrradiology.hatenablog.jp mrradiology.hatenablog.j…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Ruby on Railsで開発したアプリケーションにStripeコネクトを導入している場合、本番環境で利用する際に設定が必要です。 開発環境のlocalhost:3000からHerokuのドメインに変わるためです。 では順を追って説明します。ストライプのダッシュボード左の「設定」をクリックします。設定connectの設定をクリックします。connectの設定 リダイレクトで「URI追加」をクリックします。URI追加 URIは「https://macoshigoto.herokuapp.com/auth/stripe_co…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Herokuデプロイ設定 Ruby on Railsで開発したアプリケーションをデプロイする際、開発時にdevelopment.rbファイルに記述してきた設定を本番環境用設定ファイル「config\environments\production.rb」に書き写し、新たに本番環境用設定を書き加える必要があります。 順を追って解説します。 「config\environments\production.rb」ファイルを編集していきます。 httpsの設定 https通信の設定を行い、SSLに対応させます。 47行目のコメントア…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Ruby on Railsを利用して開発を進め、実際に運用するためにはいくつか方法がありますが、個人で開発している場合には、「heroku」というクラウドプラットフォームサービスを利用するのが手っ取り早いです。 Heroku(ヘロク)は、クラウドプラットフォームサービスの1つで、開発者がアプリケーションを簡単にデプロイ(公開)、実行、管理できるようにするためのホスティングプロバイダーです。Herokuは特にウェブアプリケーションのホスティングに特化しており、アプリケーションのデプロイからスケーリング、モニタリング、管理まで…
こんにちは、CTOの小林です。 kickflowにはExcel形式(.xlsx)で帳票出力する機能がありますが、これをPDF形式での出力に対応したいと思い調査しました。 kickflowではインフラにHerokuを使用しているため、HerokuでExcelをPDFに変換する方法を紹介します。
やろうとしたこと Heroku チュートリアル で、デプロイしてみる $ heroku openを実行して、サンプルサイトを開いたが、Hello World!ではなく「エラー」がでた。 $ heroku logs --tailを打ってみな!と表示されたので、打ってみたら以下のエラーが出た。 エラー内容 app[web.1]: Error: Exec format error heroku[web.1]: Process exited with status 126 heroku[web.1]: State changed from starting to crashed heroku[rout…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Ruby on Railsで開発したアプリケーションをherokuにデプロイする際、データベースのパスワードや他連携サービスの情報など、機密情報の取り扱いには注意が必要です。 ただ、開発環境と本番環境で機密情報の設定が違うため、アップデートを行う際に開発環境で確認できなくなると不都合が生じます。 そこで、開発環境での機密情報の設定方法と本番環境(heroku)での設定方法を解説します。 まず開発環境での機密情報の設定方法です。 GemFileに「dotenv」gemを追加します。 gem 'dotenv', '~> 2.8…
ポートフォリオとしてNext.js +GoのRest APIで作った映画のレビューサービスとNuxt.js + GoのGraphQLで作ったポートフォリオをVercelとHerokuで公開したので手順をメモ。 バックエンドは一度terraformでAWS ECSを使った環境を作ったんだけど金かかるし個人のポートフォリオレベルだとやりすぎ感あるのでHerokuにしてみた。 公開したもの 映画サービス vercel.com movie-info-frontend.vercel.app https://vue-calendar-plum.vercel.app/ カレンダー https://vue-c…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Bootstrapを利用する準備をします。 Yarnで必要なパッケージ「Bootstrap」「jquery」「popper.js」をインストールします。 コマンド yarn add jquery@3.7.0 bootstrap@5.3 popper.js@1.16.1 「popperjs/core」をインストールします。 コマンド yarn add @popperjs/core 記述追加 app/javascript/packs/application.js(11行目) require("jquery") import '…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング herokuデプロイ Rails6.1で開発を進めてHerokuでデプロイする際に、babelのパッケージが見当たらないというエラーが出ます。 エラーの内容は以下の通りです。 ERROR in ./app/javascript/packs/application.js Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find package '@babel/plugin-proposal-private-m…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング デプロイ時のエラー 今までRails6.0での開発を主に解説してきましたが、Herokuへのデプロイ時に解決できない問題に直面しました。 それはRubyのバージョン問題です。 開発が終了した段階で、いざデプロイになり、Rubyのバージョンを上げ、Railsのバージョンを上げても、Webpackのバージョン問題が付き纏い、Herokuサーバーでのコンパイルが上手くいきません。 そこで、HerokuのRubyバージョンに合わせ、Railsの開発環境を整えていきます。 HerokuでRubyをインストールしようとすると、バージョ…
RakeタスクでとあるCSVファイルをダウンロードしながら(CSV.foreach)、データの加工やDBへの保存処理を行うスクリプトを作成していたところ、以下にあるような課題に当たって、ヘルパーメソッドを作成したので背景とともに残しておく 背景と課題 ローカルで手軽にRakeタスクを実行したいが、HerokuでホストされているDBへのIOに時間がかかる heroku runコマンドで実行するRakeタスクの引数に、GCSの公開バケットのURLを指定して、DBとスクリプトの実行環境を近づけることに GCSのバケットにあらかじめアップロードしておいたCSVファイルをURI.parse('<http…
↓↓クリックして頂けると励みになります。ランキング参加中プログラミング Amazon Simple Storage Service(Amazon S3)は、クラウドベースのオブジェクトストレージサービスです。 herokuにアプリケーションをデプロイすると画像をローカルに保存することができません。 それに対応するため、アップロードした画像を全てアマゾンS3に保存するよう設定します。 アマゾンS3のキーの取得方法は以下の手順でお願いします。 mrradiology.hatenablog.jp GemFileに以下の記述を追加して下さい。 GemFile gem "aws-sdk" コマンド bu…
前回の記事はこちら pancokeiba.hatenablog.com 前回、ローカル環境で LINE と Llama 2 を連携したチャットボットを開発した。今後の課題に挙げていた 3 つのうち、2 つが解決したため、今回はその内容を書く。結論を言うと、GCP を利用することで 2 つの課題を同時に解決した。 解决した課題 GCP の導入 1. Google Cloud CLI のインストール 2. Google App Engine にデプロイする資材を準備する app.yaml main.py requirements.txt 3. デプロイ 4. LINE の Webhook URL …