Podstawowe informacje o trybie ciągłej integracji

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.

Diagram pokazujący, jak wielu programistów żąda zmian w kodzie i jak system CI sprawdza te zmiany przed ich scaleniem z głównym repozytorium kodu.
Rysunek 1. System CI utrzymuje prawidłowe repozytorium kodu przez przeprowadzanie kontroli przed scaleniem.

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:

  1. System CI wykrywa zmianę w kodzie, zwykle w momencie, gdy programista tworzy żądanie pull, zwane także „listą zmian” lub „żądaniem scalenia”.
  2. Udostępnia i inicjuje serwer, który uruchamia przepływ pracy.
  3. W razie potrzeby pobiera kod i narzędzia takie jak pakiet Android SDK lub obrazy emulatora.
  4. Kompiluje projekt, uruchamiając podane polecenie, na przykład ./gradlew build.
  5. Uruchamia testy lokalne, wykonując określone polecenie, na przykład uruchomienie /gradlew test.
  6. Uruchamia emulatory i przeprowadza instrumentalne testy.
  7. Przesyła artefakty, takie jak wyniki testów i pliki APK.
Diagram przedstawiający podstawowy przepływ pracy CI
Rysunek 2. Podstawowy przepływ pracy CI

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: