주요 콘텐츠로 건너뛰기

Leapcell에서 Rust 앱 배포하기

몇 단계만 거치면 Leapcell에서 Axum 프레임워크를 사용하여 Rust 앱을 배포할 수 있습니다. 제공된 예제 앱을 사용하거나 직접 배포할 수 있습니다.

이것은 가장 간단한 Rust 배포 예시입니다. 다른 Rust 예제는 이 기반 위에 구축될 수 있습니다.

정보

계속 진행하려면 GitHub 계정이 필요합니다. 계정이 없는 경우 GitHub 웹사이트에서 만들 수 있습니다.

1. GitHub에서 Axum 예제포크합니다.

저장소: Axum 예제

다음은 공식 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 대시보드로 이동하여 새 서비스 버튼을 클릭합니다.

"새 서비스" 페이지에서 방금 포크한 리포지토리를 선택합니다.

저장소에 액세스하려면 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이 표시됩니다. 서비스 페이지에 표시된 도메인을 방문하세요.

지속적인 배포

연결된 브랜치에 푸시할 때마다 자동으로 빌드 및 배포가 트리거됩니다. 빌드에 실패하면 안전하게 취소되어 다음 성공적인 배포까지 현재 버전이 계속 실행됩니다.

자세한 내용은 지속적인 배포를 참조하세요.