Aby uruchomić aplikację w chmurze potrzebujemy dwóch rzeczy: aplikacji i chmury.
Aby wygenerować aplikację użyjemy linii poleceń i komendy dotnet.
dotnet new mvc --name Sample.Api.App
Jeżeli powyższa komenda nie działa prawdopodobnie powinieneś zainstalować .Net SDK
Aby upewnić się czy aplikacja działa wpiszmy w linię komend
cd Sample.Api.App dotnet restore dotnet run
Poczekaj aż na ekranie pojawi się komunikat
Now listening on: https://localhost:5001 Now listening on: http://localhost:5000
I otwórz stronę https://localhost:5001/api/values strona powinna zawierać następujący tekst:
["value1","value2"]
Wróć do konsoli i wciśnij Ctrl+C
Udostępnijmy aplikację w chmurze
W poprzednim artykule proponowałem Ci zainstalowanie aplikacji cf-cli i założenie konta na stronie run.pivotal.io wszystkie dalsze fragmenty kodu będą zakładały, że tak właśnie zrobiłeś.
Aby udostępnić aplikację użyję narzędzia cf-cli. Narzędzie może współpracować z wieloma wdrożeniami CF dlatego należy wskazać środowisko na którym aplikacja ma zostać wdrożona:
cf api api.run.pivotal.io
Aplikacja musi też znać login i hasło, aby je podać należy użyć polecenia:
cf login
po podać login i hasło użyte podczas rejestracji. Ostatnim krokiem jest „wypchnięcie” aplikacji do chmury, aby to zrobić wpisz w linię poleceń:
cf push sample-api --random-route
Parametr sample-api to nazwa aplikacji, która jest obowiązkowa. Parametr –random-route jest opcjonalny i oznacza, że chmura wylosuje dla nas ścieżkę, pod którą aplikacja będzie dostępna. Pominięcie tego parametru sprawi, że narzędzie spróbuje opublikować aplikację pod adresem: sample-api.cfapps.io, który prawdopodobnie będzie zajęty ze względu na fakt, iż jest to środowisko współdzielone przez wielu użytkowników. Ścieżkę można też ustawić ręcznie podając parametr –route
cf push sample-api --route moja-unikalna-personalna-sciezka
Co spowoduje próbę publikacji pod adresem moja-unikalna-personalna-sciezka.cfapps.io
Narzędzie powinno wyświetlić masę tekstu kończącego się czymś podobnym do:
Waiting for app to start... name: sample-api requested state: started routes: sample-api-optimistic-porcupine.cfapps.io last uploaded: Thu 06 Sep 20:47:01 CEST 2018 stack: cflinuxfs2 buildpacks: dotnet-core type: web instances: 1/1 memory usage: 1024M start command: cd ${DEPS_DIR}/0/dotnet_publish && ./Sample.Api.App --server.urls http://0.0.0.0:${PORT} state since cpu memory disk #0 running 2018-09-06T18:47:17Z 0.0% 0 of 1G 0 of 1G
Linijka zaczynająca się od „routes:” wskazuje adres aplikacji. W moim przypadku jest to: „sample-api-optimistic-porcupine.cfapps.io”, jeżeli wszystko poszło dobrze po otworzeniu w przeglądarce adresu https://[ścieżka aplikacji]/api/values (w moim przypadku https://sample-api-optimistic-porcupine.cfapps.io/api/values) powinniśmy ponownie zobaczyć stronę zawierającą:
["value1","value2"]
W kolejnym artykule opowiem co w tym procesie można zrobić lepiej.
Jedna odpowiedź do “Cloud Foundry – notatki – Pierwsza aplikacja w chmurze”