build and spin the app
This commit is contained in:
parent
d321b7e2de
commit
def715a044
90
README.org
90
README.org
@ -144,4 +144,94 @@ The manifest file is =spin.toml=
|
||||
command = "cargo build --target wasm32-wasi --release"
|
||||
watch = ["src/**/*.rs", "Cargo.toml"]
|
||||
#+end_src
|
||||
* Modifying the code
|
||||
We change the =qstar/lib.rs= file to display the =hello world= message.
|
||||
#+description: line change for message
|
||||
#+name: lib.rs diff
|
||||
#+begin_src shell
|
||||
git diff
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: lib.rs diff
|
||||
: diff --git a/qstart/src/lib.rs b/qstart/src/lib.rs
|
||||
: index f3051ef..a51e027 100644
|
||||
: --- a/qstart/src/lib.rs
|
||||
: +++ b/qstart/src/lib.rs
|
||||
: @@ -8,5 +8,5 @@ fn handle_qstart(req: Request) -> anyhow::Result<impl IntoResponse> {
|
||||
: Ok(http::Response::builder()
|
||||
: .status(200)
|
||||
: .header("content-type", "text/plain")
|
||||
: - .body("Hello, Fermyon")?)
|
||||
: + .body("Hello, World!")?)
|
||||
: }
|
||||
* Building the app
|
||||
In the ~qstart/~ folder
|
||||
#+begin_src shell
|
||||
cd qstart/
|
||||
spin build
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: Building component qstart with `cargo build --target wasm32-wasi --release`
|
||||
: Finished release [optimized] target(s) in 0.17s
|
||||
: Finished building all Spin components
|
||||
* Running the app
|
||||
We could have done ~spin build --up~ to autostart the app once the build has
|
||||
been done.
|
||||
#+description: running the app once build is finished
|
||||
#+name: spin up the app
|
||||
#+begin_src shell
|
||||
cd qstart/
|
||||
spin up
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: spin up the app
|
||||
: Logging component stdio to ".spin/logs/"
|
||||
:
|
||||
: Serving http://127.0.0.1:3000
|
||||
: Available Routes:
|
||||
: qstart: http://127.0.0.1:3000 (wildcard)
|
||||
: 2023-11-19T18:38:54.648503Z ERROR spin_trigger::cli: Trigger executor failed
|
||||
: Error: Unable to listen on 127.0.0.1:3000
|
||||
:
|
||||
: Caused by:
|
||||
: Address already in use (os error 98)
|
||||
|
||||
In this case we have another app running in the same port. Let's see which one.
|
||||
#+name: lsof
|
||||
#+begin_src shell
|
||||
lsof -i tcp:3000
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: lsof
|
||||
: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
|
||||
: forgejo 1531870 haqadosch 7u IPv6 8599019 0t0 TCP *:3000 (LISTEN)
|
||||
|
||||
So we kill that one and restart the ~spin up~.
|
||||
#+name: spin up again
|
||||
#+begin_src shell
|
||||
kill -9 1531870
|
||||
cd qstart/
|
||||
spin up
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: spin up again
|
||||
: Logging component stdio to ".spin/logs/"
|
||||
:
|
||||
: Serving http://127.0.0.1:3000
|
||||
: Available Routes:
|
||||
: qstart: http://127.0.0.1:3000 (wildcard)
|
||||
* Try the app
|
||||
We can display the page in your favourite browser or confirm with ~curl~
|
||||
#+name: curl
|
||||
#+begin_src shell
|
||||
curl -i localhost:3000
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: curl
|
||||
: HTTP/1.1 200 OK
|
||||
: content-type: text/plain
|
||||
: transfer-encoding: chunked
|
||||
: date: Sun, 19 Nov 2023 19:01:02 GMT
|
||||
:
|
||||
: Hello, World!
|
||||
|
@ -8,5 +8,5 @@ fn handle_qstart(req: Request) -> anyhow::Result<impl IntoResponse> {
|
||||
Ok(http::Response::builder()
|
||||
.status(200)
|
||||
.header("content-type", "text/plain")
|
||||
.body("Hello, Fermyon")?)
|
||||
.body("Hello, World!")?)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user