Spis treści

Deno Deploy

Mój pierwszy eksperyment push-to-deploy

Dziś zdeployowałam apkę napisaną w Deno na środowisko Deno Deploy. Apka działa (wciąż!) w domenie deno.dev: happy-rabbit.deno.dev

/deno-happy-rabbit.png

Deno Deploy Beta 1

Środowisko ludzi zajmujących się rozwijaniem Deno już niedługo będzie mogło spieniężyć swoje wysiłki - powstało bowiem już jakiś czas temu “środowisko chmurowe” umożliwiające deployment programów pisanych w Deno.

Oficjalny komunikat Ryan Dahl opublikował na blogu trzy dni temu: Deno Deploy Beta 1. Faza General Availability ma być jeszcze w tym roku.

Własna Domena

Co ciekawe, Deno Deploy oferuje domenę deno.dev, w której są hostowane projekty; ponieważ zaś podczas trwania fazy Beta 1 Deno Deploy jest darmowe, można poznać to środowisko po prostu dla zabawy.

Deploy Github App

Jeśli kod ma być deployowany po pushu, wystarczy zainstalować Deno Deploy App. Wtedy push na główny branch oznacza deployment produkcyjny.

Możliwości

Czego można używać? Out-of-the-box dostępne są technologie:

  • TypeScript
  • JSX
  • ES Modules
  • importy modułów przez HTTPS

Dokumentacja Deploy

Mój własny deploy

Pomyślałam, że może w wolnej chwili napiszę aplikację powalającą świat na kolana, więc trochę wczoraj a trochę dzisiaj bawię się biblioteczkami, których można używać w DenoDeploy i sprawdzam, co trzeba zrobić, żeby wrzucić apkę w chmurę.

Swoimi projektami można zarzadzać w webowej aplikacji dash.deno.com, w której widoczne są projekty i ich powiązanie ze źródłami na GitHubie:

/deno-deploy.png

Apka

Moja apka nazywa się happy-rabbit i jest hostowana tutaj: https://happy-rabbit.deno.dev/

Czego używam?

  • Do routingu używam biblioteki Sift
  • Używam składni JSX do komponetu Mood
  • plik css jest hostowany jako static asset

Lokalne testowanie

Aby przetestować apkę lokalnie, potrzebne jest narzędzie deployctl:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[karma@tpd|~] deployctl --help
deployctl 0.3.0
Run Deno Deploy scripts locally.

To run a script locally:
deployctl run https://deno.land/x/deploy/examples/hello.js

To run a script locally and watch changes:
deployctl run --watch https://deno.land/x/deploy/examples/hello.js

SUBCOMMANDS:
run       Run a script given a filename or url
check     Perform type checking of the script without actually running it
types     Print the Deno Deploy TypeScript declarations
upgrade   Upgrade deployctl to the given version (defaults to latest)

Po jej uruchomieniu apka jest dostępna na localhoście:

1
2
3
[karma@tpd|~/d/j/happy-rabbit]  (main) λ
deployctl run --no-check --watch src/main.ts
Listening on http://0.0.0.0:8080

Każdy push na brancza main generuje deployment produkcyjny.

Github

happy-rabbbit na GitHub