Tryb ciągłej integracji (CI) to sposób tworzenia oprogramowania, w którym deweloperzy często scalają zmiany kodu w centralne repozytorium, po którym uruchamiają się automatyczne kompilacje i testy.
Możesz skonfigurować podstawowy system CI, aby zapobiec nowym zmianom, które zaburzą kompilację po scaleniu. Możesz zaprogramować bardziej zaawansowany system CI, który będzie automatycznie testować aplikację i dbać o to, aby działała zgodnie z oczekiwaniami w różnych środowiskach, takich jak poziomy interfejsów API, rozmiary ekranu i platformy.
W tym dokumencie omawiamy typowe strategie stosowane przez deweloperów do konfigurowania skutecznych systemów CI na potrzeby projektów Androida. Wytyczne te mają charakter ogólny i dotyczą większości rozwiązań.
Typowy przykład
Typowy system CI korzysta z przepływu pracy lub potoku, który może wyglądać tak:
- System CI wykrywa zmianę w kodzie, zwykle w momencie, gdy programista tworzy żądanie pull, zwane także „listą zmian” lub „żądaniem scalenia”.
- Udostępnia i inicjuje serwer, który uruchamia przepływ pracy.
- W razie potrzeby pobiera kod i narzędzia takie jak pakiet Android SDK lub obrazy emulatora.
- Kompiluje projekt, uruchamiając podane polecenie, na przykład .
/gradlew build
. - Uruchamia testy lokalne, wykonując określone polecenie, na przykład uruchomienie
/gradlew test
. - Uruchamia emulatory i przeprowadza instrumentalne testy.
- Przesyła artefakty, takie jak wyniki testów i pliki APK.
Zalety CI
Zalety CI:
- Lepsza jakość oprogramowania: CI może pomóc w polepszaniu jakości oprogramowania przez wykrywanie i rozwiązywanie problemów na wczesnym etapie. Pomaga to zmniejszyć liczbę błędów w wersjach oprogramowania i poprawić ogólny komfort użytkowników.
- Mniejsze ryzyko uszkodzenia kompilacji: gdy automatyzujesz proces kompilacji za pomocą CI, możesz lepiej unikać uszkodzonych kompilacji, rozwiązując problemy na wcześniejszym etapie tego procesu.
- Większe zaufanie do wersji: CI pomaga zadbać o to, aby każda wersja była stabilna i gotowa do wdrożenia w środowisku produkcyjnym. Prowadząc testy automatyczne, CI może wykryć potencjalne problemy, zanim je opublikujesz.
- Ulepszona komunikacja i współpraca: zapewniając programistom centralne miejsce do udostępniania kodu i wyników testów, CI ułatwia programistom i innym członkom zespołu współpracę i śledzenie postępów.
- Większa produktywność: CI może pomóc w zwiększeniu produktywności programistów przez automatyzację zadań, które w innym przypadku byłyby czasochłonne i podatne na błędy.
Więcej materiałów
Więcej informacji o tym, jak korzystać ze stałej integracji do ulepszania aplikacji, znajdziesz na tych stronach: