Ciągła integracja i ciągłe dostarczanie

Budowanie

Do budowania całego naszego kodu wykorzystujemy Azure Pipelines. Definicje buildów tworzymy korzystając głównie z YAML uzupełniając go po stronie serwera o skrypty Bash i Powershell. Aplikacje webowe, mikroserwisy i usługi są budowane z wykorzystaniem definicji kontenerów - Dockerfile. Zawsze używamy przynajmniej dwupoziomowego środowiska, co ułatwia nam testowanie i wdrażanie na różnych serwera (developerskim i produkcyjnym).

Biblioteki
Aplikacje webowe
Kontenery
Aplikacje mobilne
Proces budowania aplikacji

Paczkowanie

Wyniki budowania bibliotek umieszczamy na własnym serwerze paczek Nuget i npm. To ułatwia nam wewnętrzną dystrybucję bibliotek jako silnie wersjonowanych paczek. Dzięki temu ich uaktualnianie w rozwiązaniach ogranicza się wyłącznie do instalacji nowszych wersji. Gotowe rozwiązania pakujemy natomiast do postaci obrazów kontenerów Docker i wypychamy do wewnętrznego repozytorium, co umożliwia nam proste i szybkie dystrybuowanie ich na serwery produkcyjne.

Proces tworzenia paczek
NuGet
NuGet
npm
npm
Azure Artefacts
Azure Artefacts
Docker
Docker

Publikowanie

Ciągłość wdrożeń jest dla nas procesem tak prostym, jak tylko się da. Wykorzystujemy wcześniej zbudowane paczki i po prostu wypychamy je na serwery. Wszystko dzięki wykorzystaniu Azure Artefacts stworzonymi przez procesy Azure Pipeline. Każde nowe wydanie poprzedzone jest stworzeniem pełnego backupu środowiska produkcyjnego - zarówno danych jak i aplikacji, co ułatwia i przyśpiesza proces odtworzenia, jeżeli wystąpi taka potrzeba. Pracujemy zarówno ze zdalnymi serwerami, usługami chmurowymi, sklepami aplikacji mobilnych takimi jak Google Play i Apple App Store, lub po prostu dostarczamy instalatory z nowymi wydaniami.

Proces publikowania aplikacji
Serwer wewnętrzny
Serwer zdalny
Chmura
App Store
Google Play
Instalator
Jesteś gotowy, żeby porozmawiać o swoim projekcie?