Zalecenia dotyczące stałej integracji
Dotyczy tego Power Platform zalecenia dotyczącego listy kontrolnej doskonałości operacyjnej Well-Architected:
OE:04 | Optymalizacja procesów projektowania oprogramowania i zapewnienia jakości przez następujące sprawdzone w tej branży metody projektowania i testowania. W celu wyraźnego określenia roli należy ustandaryzować metody postępowania w przypadku takich składników, jak narzędzia, kontrola źródła, wzorce projektowe aplikacji, dokumentacja i przewodniki stylu. |
---|
Przyjęcie ciągłej integracji/ciągłego dostarczania (CI/CD) może zwiększyć złożoność programowania dla deweloperów obywatelskich. Jednak skalowalny i zautomatyzowany proces projektowania, który może szybko wykorzystać nowe funkcje i poprawki usterek, ma krytyczne znaczenie dla stabilnego i automatycznego procesu projektowania.
Jako deweloper możesz wprowadzać małe zmiany w kodzie, wprowadzać je do repozytorium kodu i otrzymać prawie błyskawiczne opinie na temat jakości, testów zapotrzebowania i wprowadzonych zmian. Pozwala on pracować szybciej i przy większej pewności siebie oraz zmniejszyć ryzyko. Ciągła integracja to praktyka, w której systemy kontroli źródła i potoki wdrażania są zintegrowane w celu zapewnienia zautomatyzowanych mechanizmów kompilacji, testowania i opinii dla zespołów tworzących oprogramowanie.
Kluczowe strategie projektowania
Ciągły proces integracji to sposób projektowania oprogramowania, który jest stosować deweloperzy do regularnego integrowania aktualizacji oprogramowania z systemem kontroli źródła.
Proces integracji jest rozpoczynany w momencie, gdy inżynier tworzy żądanie GitHub do zasygnalizowania systemu CI, że zmiany kodu są gotowe do integracji. Najlepiej jest, aby proces integracji sprawdzał poprawność kodu w kilku planach bazowych i testach. Następnie dostarcza inżynierowi informacji na temat stanu tych testów.
Jeśli testy bazowe i testy przebiegają dobrze, proces integracji pozwala tworzyć zasoby i etapy wdrażane w zaktualizowanym oprogramowaniu. Zasoby te obejmują skompilowane obrazy kodu i kontenerów.
Ich integracja z programem o wysokiej jakości może ułatwić szybkie dostarczanie wysokiej jakości oprogramowania, wykonując następujące czynności:
- Uruchom zautomatyzowane testy dla kodu w celu zapewnienia wczesnego wykrywania zerwanych zmian.
- Uruchom analizę kodu, aby zapewnić standardy, jakość i konfigurację kodu.
- Uruchom testy zgodności i zabezpieczeń, aby upewnić się, że oprogramowanie nie zawiera znanych luk w zabezpieczeniach.
- Uruchom testy akceptacji lub funkcjonalności, aby upewnić się, że oprogramowanie działa zgodnie z oczekiwaniami.
- Szybkie opinie na temat wykrytych problemów.
- W odpowiednich przypadkach należy utworzyć wdrażane zasoby lub pakiety, które zawierają zaktualizowany kod.
Środowiska
Konfigurowanie i konfigurowanie środowiska ma krytyczne znaczenie dla krytycznego i wiarygodnego dysku CI/CD. Środowiska Power Platform można skonfigurować w celu wyodrębnienia różnych etapów projektowania, testowania i wdrażania rozwiązania. Proces CI/CD przenosi zmiany w tych etapach. Ustalanie strategii środowiska z z zasadami przewodzącymi dla środowisk deweloperów.
Potoki ciągłej integracji
W celu uzyskania stałej integracji należy używać narzędzi do zarządzania procesem, integrowania i automatyzacji go. Potoki ciągłej integracji oferują:
- Platforma do przeprowadzania testów automatycznych
- Skanowanie zgodności
- Zgłaszanie
- Wszystkie inne komponenty, które składają się na proces ciągłej integracji
W większości przypadków oprogramowanie potoku jest dołączone do kontroli źródła, dzięki czemu po utworzeniu żądań ściągnięcia lub scaleniu oprogramowania z określoną gałęzią jest uruchamiany potok ciągłej integracji. Integracja z kontrolą źródła umożliwia również bezpośrednie opinie CI na temat zapytań pull.
Wiele rozwiązań, takich jak Azure Pipelines lub GitHub Actions, zapewnia funkcje potoków stałej integracji. Dowiedz się więcej w temacie Tworzenie ciągłej integracji/ciągłego wdrażania za pomocą platformy Azure dla Microsoft Power Platform.
Integracja kontroli źródła
Integracja potoku stałej integracji z systemem kontroli źródłowej ma kluczowe znaczenie dla szybkiego i samoobsługowego opłacania kodu.
Potok CI jest uruchamiany na nowo utworzonego żądania pull. Potok obejmuje wszystkie testy, oceny zabezpieczeń i inne sprawdzenia. Wyniki testów CI są wyświetlane bezpośrednio w żądaniu pull, aby umożliwić zgłoszenie opinii w czasie rzeczywistym na temat jakości.
Inną popularną praktyką jest tworzenie niewielkich raportów lub znaczek, które można prezentować w kontrolce źródłowej w celu prezentowania bieżącego stany kompilacji.
Na poniższym obrazie pokazano integrację między relacją GitHub a potokiem Azure DevOps. W tym przykładzie utworzenie żądania ściągnięcia wyzwala potok. Stan potoku jest wyświetlany w żądaniu pull.
Integracja testu
Kluczowym elementem stałej integracji jest ciągły proces tworzenia i testowania kodu, gdy deweloperzy podają informacje o kodach. Testowanie żądań ciągów podczas ich tworzenia powoduje natychmiastowe opinie, że zatwierdzenie nie wprowadzono żadnych zerwanych zmian. Zaletą jest to, że testy w ramach potoku integracji ciągłych mogą być tym samym testami przeprowadzonymi podczas projektowania opartego na testach.
Sprawdzenie jakości pod celu sprawdzenia kodu niestandardowego
Dodanie kodu niestandardowego do rozwiązania gwarantuje, że kontrola jakości kodu jest sprawdzana w potoku sprawdzania poprawności, aby upewnić się, że w kontrolce źródłowej jest zaangażowany czysty kod niestandardowy. Niezależnie od języka kodowania i wzorców składniowych, których używasz, istnieje wiele opcji zapewniania jakości kodu oraz zwiększania bezpieczeństwa i porządku.
Nieudane testy
Nieudane testy powinny tymczasowo blokować wdrożenie i prowadzić do głębszej analizy tego, co trzeba będzie zrobić. Nieudane testy powinny również doprowadzić do uściślienia testów lub usprawnienia zmiany, która spowodowała niepowodzenie testów.
Ułatwienia Power Platform
Potoki mają Power Platform na celu demokratyzację zarządzania cyklem życia aplikacji (ALM) dla Power Platform klientów i klientów Dynamics 365 poprzez wprowadzenie do usługi funkcji automatyzacji ALM oraz ciągłej integracji i ciągłego dostarczania (CI/CD).
Microsoft Power Platform Narzędzia do kompilacji mogą Azure DevOps służyć do automatyzowania typowych zadań kompilacji i wdrażania związanych z aplikacjami opartymi na Power Platform bazie.
Akcje GitHub umożliwiają Power Platform deweloperom tworzenie zautomatyzowanych przepływów pracy cyklu życia tworzenia oprogramowania. Za pomocą akcji GitHub dla platformy Microsoft Power Platform można tworzyć przepływy pracy w swoim repozytorium, aby tworzyć, testować, pakowania, wydawać i wdrażać aplikacje; wykonywać automatyzację; oraz zarządzać botami i innymi składnikami zbudowanymi na platformie Microsoft Power Platform.
Akcelerator ALM to narzędzie typu open source, które składa się z zestawu aplikacji, skryptów i potoków zaprojektowanych w celu zautomatyzowania procesu ciągłej integracji/ciągłego dostarczania.
Automatyzowanie testów za pomocą usługi Azure Pipelines.
Power Apps checker Web API zapewnia mechanizm uruchamiania statycznych testów analizy pod kątem dostosowań i rozszerzeń platformy Microsoft Dataverse .
Microsoft Power Platform CLI (PAC CLI) to narzędzie wiersza polecenia, które obsługuje importowanie i eksportowanie Power Platform rozwiązań oraz pakowanie i rozpakowywanie z Power Platform plików źródłowych rozwiązań. Interfejs wiersza polecenia PAC jest dostępny jako samodzielne narzędzie wiersza polecenia lub jako rozszerzenie kodu Visual Studio .
Informacje pokrewne
- Zarządzanie cyklem życia aplikacji (ALM) z Microsoft Power Platform
- Tworzenie ciągłej integracji/ciągłego wdrażania za pomocą platformy Azure dla Microsoft Power Platform
- Power Platform Środowiskach
- Opracowanie strategii środowiskowej
- Zarządzanie współrozwojem
- Używanie scenariuszy do implementowania ALM w dobrej kondycji za pomocą Microsoft Power Apps
- Automatyzowanie testów za pomocą usługi Azure Pipelines