Nauka CI/CD dla .net aplikacji webowej

0

Cześć, chciałem się zabrać za pisania właśnej apliakcji webowej by przy okazji nauczyć paru nowych rzeczy.
Z tej okazji chciałem się nauczyć nieco devOpsowania. Podjąłem próbę postawienia jednego mikroseriwsu na Azure, jednak bezskutecznie.
Chciałem się zapytać czy są kursy/książki jak to osiągnąć?
Wiem, że idealnym rozwiązaniem jest Docker i Kubernates, jednak problem u mnie pojawia się, żeby skonfigurować CI/CD dla prostego mikroserwisu z dockerem. Nie potrafię skonfigurować Release pipeline, bo nawet nie wiem gdzei to powinny wylądować by było widoczne dla świata zewnętrznego.
Pytanie mocno ogólne, jednak czuję, że mocno chodzę po omacku, więc potrzebuję jakiegoś kierunku.

1

Jak chcesz to zobaczyć w internecie to możesz zrobić na koniec deployment do Azure App Service lub do Azure Container Instances jeżeli jest to docker lub do Azure Kubernetes Service jeżeli chcesz się wesprzeć Kubernetesem.

0

Tutaj masz przykład konfiguracji pipeline w oparciu o Azure Devops:
https://www.clouddev.engineering/deploying-a-container-in-an-azure-devops-pipeline/

Generalnie robisz sobie projekt, umieszczasz w nim Dockerfile opisujący jak zbudować docelowy obraz i potem w danym pipelinie pobierasz repozytorium i budujesz obraz, a następnie wrzucasz go do Docker Hub lub ACR. Możesz sobie zobaczyć jak to ma wyglądać na przykładzie jednego z moich projektów:
https://github.com/bartekkois/GPONMonitor

0

Na początek możesz spróbować takiego podejścia:

  1. Projekt trzymany na GitHub.
  2. Każdy push do origin/master wywołuje GitHub Action, który wykonuje deploy do Azure App Service.
  3. W Azure musi wcześniej uworzyć App Service (free tier w zupełności wystarczy)

Na początek skonfiguruj sobie repo na GitHub. Jak założysz nowy App Service w Azure portal skonfiguruje Ci deploy z twojego repo (oczywiście musi to tam skonfigurować).

Nie ma Dockera ani Kubernetesa ale nic nie stoi na przeszkodzie, aby potem ewoluować z konfiguracją pipeline i przejść na Dockera.

0

No właśnie na ten moment bawię z Dockerem. Zrobienie Ci/CD dla isntancji aplikacji mi się udało.
Zastanawiam się jakie podejście zastosować.
Mam aplikację złożoną z mikroserwisów, każdy serwis ma swoją instację bazy. Wszystko jest zwieńczone apigatewayem.
Zastanawiam się jak postawić każdy z mikroserwisów. Jako App Service czy jednak iść w Container Instances (to rozwiązanie wiązałoby się z postawieniem osobno instacji bazy a osobno instancji serwisu).
Zastanawiam się czy jest możliwość budowania obrazu po stronei serwera i uruchamianie go bez każdorazowego wypychania go do Container Registry.
Co proponujecie?

1 użytkowników online, w tym zalogowanych: 0, gości: 1