LeapcellでRust Appをデプロイする
もし以下の解決策で問題が解決しない場合は、お気軽にLeapcell Discordコミュニティにご参加ください。
Axumフレームワークを使用して、Leapcell上にRustアプリケーションをわずかなステップでデプロイできます。私たちのサンプルアプリを使用することも、ご自身のアプリをデプロイすることも可能です。
これは最もシンプルなRustデプロイメントの例として提供されます。他のRustの例は、この基盤の上に構築できます。
続けるにはGitHubアカウントが必要です。お持ちでない場合は、GitHubのウェブサイトで作成できます。
1. GitHubでAxumの例をフォークします。
リポジトリ: Axum example
以下は、公式のAxumドキュメントか ら引用した、そのリポジトリのmain.rsファイルです。
use axum::{response::Html, routing::get, Router};
#[tokio::main]
async fn main() {
// build our application with a route
let app = Router::new().route("/", get(handler));
// run it
let listener = tokio::net::TcpListener::bind("127.0.0.1:8080")
.await
.unwrap();
println!("listening on {}", listener.local_addr().unwrap());
axum::serve(listener, app).await.unwrap();
}
async fn handler() -> Html<&'static str> {
Html("<h1>Hello, World!</h1>")
}
2. Leapcellダッシュボードでサービスを作成し、新しいリポジトリを接続します。
Leapcellダッシュボードにアクセスし、New Serviceボタンをクリックします。

"New Service"ページで、先ほどフォークしたリポジトリを選択します。

リポジトリにアクセスするには、LeapcellをGitHubアカウントに接続する必要があります。
接続されると、リポジトリがリストに表示されます。
3. 作成時に以下の値を入力します。
Rustはコンパイル言語であるため、cargo build --releaseを使用してRustアプリケーションをビルドします。
この例では、プロジェクト名はappなので、./target/release/appにコンパイルされます。
開始コマンドは、cargo run --releaseではなく./target/release/appにする必要があります。これは、cargo runが.cacheファイルを書き込み、Leapcell環境はそのパスへのファイルの書き込みをサポートしていないためです。詳細については、サービスストレージを参照してください。
ご自身のアプリを使用している場合は、コマンドがプロジェクトと一致していることを確認してください。appをご自身のプロジェクト名に置き換え、正しい開始コマンド(例:./target/release/myapp)を指定してください。
| Field | Value |
|---|---|
| Runtime | Rust (Any version) |
| Build Command | cargo build --release |
| Start Command | ./target/release/app |
| Port | 8080 |
これらの値を対応するフィールドに入力します。
