Rustで超簡単に無料でnowにデプロイできちゃう
NowというPaaSをご存知でしょうか。
コマンドラインにnow
と打つだけで、デプロイが出来ちゃいます。
Rustがサポートされたので、実際にやって見ましょう。
Cargoを使う方法と、Cargoを使わない方法が用意されているようですが、普通Rustでプロジェクトを作るときはCargoを使うので、Cargoを使って、やって見ましょう
nowのインストール
npm i -g now
npm i -g now
これだけ。npmかyarnでインストールしてくださいね。
nowのサインアップとログイン
https://zeit.co/signup でサインアップ
CLIで
now login
しましょう。
nowのプロジェクトを作る
cargo new now-rust-example
cargo new now-rust-example
now-rust-example
のところはなんでもいいです。
Cargo.tomlに依存パッケージを書く
[dependencies]
http = "0.1.16"
now_lambda = "0.1.2"
http
とnow_lambda
を追加する。
src/main.rs
を編集する
use http::{header, StatusCode};
use now_lambda::{error::NowError, lambda, IntoResponse, Request, Response};
use std::error::Error;
fn handler(request: Request) -> Result<impl IntoResponse, NowError> {
let uri = request.uri();
let response = Response::builder()
.status(StatusCode::OK)
.header(header::CONTENT_TYPE, "text/html")
.body(format!("Hello,World! This is lambda written by Rust. \n You made a request to the following URL: {}", uri))
.expect("failed to render response");
Ok(response)
}
// Start the runtime with the handler
fn main() -> Result<(), Box<dyn Error>> {
Ok(lambda!(handler))
}
now.jsonで設定する
{
"name": "now-rust-example",
"version": 2,
"builds": [
{
"src": "Cargo.toml",
"use": "@now/rust"
}
],
"routes": [
{ "src": "/", "dest": "/now-rust-example"}
]
}
nameはなんでもお好きに。
routesで、/
を/now-rust-example
に割り当てることで
ルートパスで、rustのlambdaが実行されます。
いよいよ、Nowにデプロイ!!
now
now
はい、これだけ。
こんな感じで、成功すると、
デプロイ先のURLが分かるので、それを見ると、
Demo:
https://now-rust-example-nq2ylj821.now.sh
このように簡単にデプロイ出来ました!!
超簡単なんでやって見てください〜〜〜〜〜!
Author And Source
この問題について(Rustで超簡単に無料でnowにデプロイできちゃう), 我々は、より多くの情報をここで見つけました https://qiita.com/Anharu/items/6178cd57a4310ba1824f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .