RenderとGitHubを連携させてアプリをデプロイしてみた

開発中のアプリケーションをサーバ上で動かしたい場合はRenderを使用することで、簡単にデプロイをすることができます。
2023.03.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。ネクストモード株式会社 の倉地です。
今回はRenderというツールで簡単にアプリケーションをデプロイする手順をご紹介します。
プログラミングを学習中の方や開発に専念したいアプリケーション開発者の方が、最小限のインフラの知識・手間でアプリケーションをデプロイすることができますので、ご参考になればと思います。
それでは早速見ていきましょう!

Renderとは

Render(Render.com)とは、様々なWebアプリをGitHubと連携して簡単にデプロイできるPaaSです。
かつてはアプリを本番環境にデプロイするのは大変な作業でしたが、現在では各種レンタルサーバはもちろん、今回ご紹介するRenderのような一通りのデプロイ環境を一気通貫で提供する便利なサービスもあります。 Renderはソースコードのバージョン管理にGitを使用していれば、アプリケーションを簡単に本番環境にデプロイできます。

試してみる

前提

GitHubアカウントを所有しており、リポジトリでアプリケーションのソースコードを管理していることを前提とします。
今回はRuby on Railsのアプリケーションをデプロイする手順となります。

RenderとGitHubを連携させてデプロイする

こちらからRenderのサインアップを行います。ここでは所有しているGitHubのアカウントで登録していきます。

RenderにログインできたらWeb Serviceを新たに作成し、GitHubと連携させていきます。
Renderダッシュボードの「New」から「Web Service」を押下します。

「Connect account」を押下してGitHubとの連携設定に進みます。

GitHubの設定でRepository accessは「All repositories」を選択して「Save」で保存します。

Render側で連携したGitHubアカウントのリポジトリ一覧が表示されますので、今回対象のリポジトリの「Connect」を押下します。

各種設定項目を入力していきます。
- アプリケーション名:今回はsample_appとします。
- Region:日本が選択できないため、最も地理的に近い「Singapore」を選択します。
※今回は検証のため、下記以外の設定項目は空欄(デフォルト)としていきます。

「Instance Type」ではFreeプランを選択します。
またプラン選択の下部にある「Advanced」設定を開きます。

ここではRailsアプリケーションを動作させるための環境変数を設定していきます。
「Add Environment Variable」から、Railsアプリケーションを本番環境で動作させるための環境変数RAILS_MASTER_KEYを設定します。
keyにはRAILS_MASTER_KEY、Valueにはconfig/master.keyファイルの中身の文字列を設定します。

これでデプロイの準備ができました。
「Create Web Service」を押下すると、デプロイが開始します。
ステータスがliveになったら生成されたURLを押下して、Webページが正しく公開されているかを確認します。

無事にWebページが確認できました。

さいごに

今回はGitHubとRenderを連携させてRailsアプリをデプロイする手順をご紹介させていただきました。
本番デプロイはAWSのEC2などを使用する場合でも、開発中のアプリケーションをサーバ上で動かしたい場合はRenderを使用することで最小限のインフラ環境構築の手間でデプロイをすることができます。
またRenderはサーバースペックは最小限のもののみとなりますが、無料でも使用できますのでお試しいただければと思います。
この記事がどなたかのお役に立てば幸いです。

参考記事

次世代Herokuと噂のRender.comで、Railsアプリをデプロイしてみる
Ruby on Rails チュートリアル

ネクストモードについて

ネクストモード株式会社は東日本電信電話株式会社とクラスメソッド株式会社で設立したクラウドカンパニーです。 「クラウドであたらしい働き方を」というメッセージを掲げ、さまざまなクラウド技術や製品を組み合わせて企業の働き方の当たり前を変えていくことを目指しています。 クラウドやSaaSのご利用に関してお困りごとがあれば、ネクストモードまでぜひお問い合わせください。