1
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?

ベンチ100kg記念🏋️この間作ったGoアプリをRenderにデプロイしてみる

Last updated at Posted at 2024-12-30

はじめに

今回は、以前Golangの練習がてらに作成したトレーニング記録アプリを、Renderにデプロイする手順を解説します。データベースの作成から、Goアプリケーションとの接続、環境変数の設定、デプロイ方法までをカバーします。

Step 1: Renderに PostgreSQL データベースを作成する

  1. Render.com にログイン
    まだアカウントを作成していない場合は、Render.com にサインアップします。

  2. 新しいデータベースを作成

    • Render のダッシュボードから「New」ボタンを押し、「PostgreSQL」を選択します。

    • データベースをホストするリージョンを選びます。

    • データベース名やユーザー名などの詳細を入力します。
      スクリーンショット 2024-12-31 0.36.33.png

  3. データベース接続の確認
    データベースが作成されると、接続に必要な情報(ホスト名、データベース名、ユーザー名)が表示されます。PSQL Commandの情報を使って接続を確認します。ターミナルを開き以下のコマンドと表示されたパスワードでデータベースに接続します。

    psql -h ******oregon-postgres.render.com -U root workoutdb_k0zf
    PGPASSWORD=********
    

    スクリーンショット 2024-12-31 0.51.09.png
    接続が確認できます。スクリーンショット 2024-12-31 0.50.41.png

2 : Go アプリケーションを Render.com にデプロイする

1. Renderにアプリケーションをデプロイ

Render ダッシュボードから「New」ボタンを押し、「Web Service」を選択します。GitHub リポジトリを選び、クリックします。
スクリーンショット 2024-12-31 2.46.06.png

2. 環境変数の設定

データベースの接続情報(パスワードなど)を本番環境のコードにハードコーディングしてしまうの危険です。代わりに、環境変数を使用して接続情報を管理します。docker-compose.yml内でパスワードなどの秘匿情報を環境変数に置き換えます。

version: '3'

services:
  db:
    image: postgres:13
    environment:
      - POSTGRES_DB=${DB_NAME}
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql
    ports:
      - "5432:5432"

  go-app:
    build: .
    depends_on:
      - db
    environment:
      - DB_HOST=${DB_HOST}
      - DB_NAME=${DB_NAME}
      - DB_USER=${DB_USER}
      - DB_PASSWORD=${DB_PASSWORD}
      - DB_SSLMODE=require 
    ports:
      - "8080:8080"

volumes:
  postgres_data:

アプリケーションのサービス設定ページで「Environment Variables」セクションを開き、下記の環境変数を入力します。

スクリーンショット 2024-12-31 1.22.30.png

3. デプロイ

設定が完了したら、デプロイを行います。Render.com でアプリケーションがデプロイされ、指定した URL からアクセスできるようになります。ブラウザで確認して、正しくデプロイされていることを確認しましょう。

#14 DONE 2.4s
Pushing image to registry...
Upload succeeded
==> Deploying...
2024/12/30 17:10:41 サーバーがポート8080で起動しています...
==> Your service is live 🎉

https://アプリ名.onrender.com/

スクリーンショット 2024-12-31 2.42.04.png

まとめ

この記事では、PostgreSQL を使った Go アプリケーションを Render.com にデプロイする方法と、ローカル開発環境での連携方法について説明しました。環境変数を使用してデータベース接続情報を安全に管理し、Render.com でアプリケーションをホスティングする手順を紹介しました。この手順を参考にして、あなたのアプリケーションをクラウド環境にデプロイしてみましょう。

1
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
1
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?