メインコンテンツへスキップ

LeapcellでのRustアプリケーションのデプロイ

ほんの数ステップで、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アカウントに接続する必要があります。

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)。

フィールド
ランタイムRust(任意のバージョン)
ビルドコマンドcargo build --release
開始コマンド./target/release/app
ポート8080

これらの値を対応するフィールドに入力します。

4. アプリケーションへのアクセス:

デプロイされると、デプロイメントページにfoo-bar.leapcell.devのようなURLが表示されます。サービスページに表示されているドメインにアクセスします。

継続的デプロイメント

リンクされたブランチへのすべてのプッシュは、自動的にビルドとデプロイをトリガーします。失敗したビルドは安全にキャンセルされ、次回の成功したデプロイまで現在のバージョンが実行されたままになります。

継続的デプロイメントの詳細をご覧ください。