Eine Rust-App auf Leapcell bereitstellen
Wenn das folgende Problem nicht behoben wird, können Sie unserer Leapcell Discord-Community beitreten, um weitere Unterstützung zu erhalten.
Stellen Sie Ihre Rust-App mit dem Axum-Framework in nur wenigen Schritten auf Leapcell bereit. Sie können unsere Beispiel-App verwenden oder Ihre eigene bereitstellen.
Dies dient als einfachstes Beispiel für die Rust-Bereitstellung. Andere Rust-Beispiele können auf dieser Grundlage aufbauen.
Sie benötigen ein GitHub-Konto, um fortzufahren. Wenn Sie noch keines haben, können Sie eines auf der GitHub-Website erstellen.
1. Forken Sie das Axum-Beispiel auf GitHub.
Repo: Axum example
Hier ist die Datei main.rs
aus diesem Repository, entnommen aus der offiziellen Axum-Dokumentation:
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. Erstellen Sie einen Dienst im Leapcell Dashboard und verbinden Sie Ihr neues Repository.
Gehen Sie zum Leapcell Dashboard und klicken Sie auf die Schaltfläche Neuer Dienst.
Wählen Sie auf der Seite "Neuer Dienst" das Repository aus, das Sie gerade geforkt haben.
Um auf Ihre Repositories zuzugreifen, müssen Sie Leapcell mit Ihrem GitHub-Konto verbinden.
Befolgen Sie diese Anweisungen, um eine Verbindung zu GitHub herzustellen.
Sobald die Verbindung hergestellt ist, werden Ihre Repositories in der Liste angezeigt.
3. Geben Sie bei der Erstellung die folgenden Werte an:
Da Rust eine kompilierte Sprache ist, verwenden wir cargo build --release
, um die Rust-Anwendung zu erstellen.
In diesem Beispiel ist unser Projektname app
, sodass es zu ./target/release/app
kompiliert wird.
Der Startbefehl sollte ./target/release/app
anstelle von cargo run --release
lauten. Dies liegt daran, dass cargo run
.cache
-Dateien schreibt und die Leapcell-Umgebung das Schreiben von Dateien in diesem Pfad nicht unterstützt. Weitere Informationen finden Sie unter Service Storage.
Wenn Sie Ihre eigene App verwenden, stellen Sie sicher, dass der Befehl mit Ihrem Projekt übereinstimmt. Ersetzen Sie app
durch Ihren Projektnamen und geben Sie den korrekten Startbefehl an (z. B. ./target/release/myapp
).
Feld | Wert |
---|---|
Runtime | Rust (Beliebige Version) |
Build Command | cargo build --release |
Start Command | ./target/release/app |
Port | 8080 |
Geben Sie diese Werte in die entsprechenden Felder ein.
4. Zugriff auf Ihre App:
Nach der Bereitstellung sollte eine URL wie foo-bar.leapcell.dev
auf der Bereitstellungsseite angezeigt werden. Besuchen Sie die Domain, die auf der Dienstseite angezeigt wird.
Kontinuierliche Bereitstellungen
Jeder Push in den verknüpften Branch löst automatisch einen Build und eine Bereitstellung aus. Fehlgeschlagene Builds werden sicher abgebrochen, sodass die aktuelle Version bis zur nächsten erfolgreichen Bereitstellung ausgeführt wird.
Erfahren Sie mehr über Kontinuierliche Bereitstellungen.