Go言語プロジェクトを無料でホストする方法 (Ginの例)
James Reed
Infrastructure Engineer · Leapcell

Ginは、Goプログラミング言語のための高速、軽量、かつ柔軟なウェブフレームワークです。高性能なウェブアプリケーションやAPIの開発を簡素化するように設計されており、ミニマムでありながら強力な機能セットを提供します。
この記事では、Ginを例として、Leapcell上でGolangサービスをいかに簡単にデプロイできるかをご紹介します。
1. GitHubでGinのサンプルをフォークします。
リポジトリ:Gin example
以下は、公式のGinドキュメントから引用した、そのリポジトリのmain.go
ファイルです。
package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "hello leapcell", }) }) r.Run() // listen and serve on 0.0.0.0:8080 }
2. Leapcellダッシュボードでサービスを作成し、Ginリポジトリを接続します。
Leapcellダッシュボードにアクセスし、New Serviceボタンをクリックします。
「New Service」ページで、フォークしたGinリポジトリを選択します。
リポジトリにアクセスするには、LeapcellをGitHubアカウントに接続する必要があります。
接続すると、リポジトリがリストに表示されます。
3. 作成時に以下の値を指定します。
Goはコンパイル言語であるため、go build
を使用してGoアプリケーションをビルドします。
この例では、Golangプロジェクト名はapp
であるため、そこにコンパイルされます。
Field | Value |
---|---|
Runtime | Go (Any version) |
Build Command | go build -tags netgo -ldflags '-s -w' -o app |
Start Command | ./app |
Port | 8080 |
これらの値を対応するフィールドに入力します。
4. Ginアプリにアクセスします。
デプロイされると、foo-bar.leapcell.devのようなURLがデプロイメントページに表示されます。サービスページに表示されているドメインにアクセスします。
継続的デプロイメント
リンクされたブランチへのプッシュごとに、自動的にビルドとデプロイがトリガーされます。ビルドに失敗した場合、現在のバージョンは安全にキャンセルされ、次のデプロイが成功するまで実行されたままになります。
Go言語ホスティングにLeapcellを選ぶ理由
- Leapcellは次世代のサーバーレスプラットフォームであり、Go言語プロジェクト全体をクラウドにデプロイできます。
- Leapcellは実際の使用量に対してのみ課金されるため、マシンがアイドル状態のときは1円も支払う必要はありません。
- Leapcellは、毎月リセットされる寛大な無料枠を提供しています。日常的な使用では、クォータを超えることはまずありません。
LeapcellでGolangサービスのデプロイを開始しましょう!