App Center dostarcza kilka bardzo ciekawych funkcjonalności. Jedną z nich jest połączenie z repozytorium używając najpopularniejszych serwisów.
Na przykładzie pokażę sposób połączenia aplikacji React Native używającej App Center z repozytorium BitBucket.
Pierwszym krokiem jest oczywiście dodanie potrzebnych bibliotek i utworzenie projektu (React Native + App Center), o czym można przeczytać tutaj. Wymaganą czynnością będzie też utworzenie konta Bitbucket na stronie https://bitbucket.org i następnie stworzenie nowego repozytorium.
Po utworzeniu przechodzimy do projektu aplikacji React Native i w katalogu głównym wykonujemy komendy:
git init git remote add origin nazwa_repozytorium_dostępna_na_stronie_głównej_repozytorium
Następnie:
git add –A git commit –m 'init' git push -u origin master
Po wysłaniu projektu na repozytorium dodajemy je w usłudze App Center wybierając z listy dostępnych repozytoriów.
Przechodzimy do ustawień projektu w App Center.
Build Frequency – aplikacja może być kompilowana na serwerach App Center po każdym commicie lub manualnie (na żądanie). Bardzo przydatna funkcja, w przypadku zespołu zawierającego kilku testerów – po każdym commicie na wybrany branch tester dostaję powiadomienie o nowej wersji aplikacji.
Automatically increment version code – system dba by nowa wersja aplikacji miała inną wersję; ściąga z developerów obowiązek pamiętania o zmianie numeru wersji.
Run unit test – automatycznie podczas procesu kompilacji uruchamia testy jednostkowe – w przypadku gdy aplikacja ich nie przejdzie, wyświetlany jest komunikat o niepowodzeniu.
Sign builds – App Center mając dostęp do pliku keystore jest w stanie podpisywać cyfrowo aplikację.
Test on a real device – po udanej kompilacji aplikacja zostaje uruchomiona na fizycznym urządzeniu w chmurze, dzięki czemu zostaje sprawdzona pod kątem ew. crashów i błędów nie wykrytych w trakcie procesu kompilacji.
Distribute builds – aplikacja może być aktualizowana w sklepach Google Play / App Store / Intune w sposób automatyczny.
Jedną z najciekawszych wyżej wymienionych funkcji jest możliwość automatycznego podpisywania aplikacji. Aby to zrobić potrzebujemy wygenerować nowy plik keystore z użyciem przykładowej komendy:
keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Podczas procesu tworzenia wymagane będzie podanie informacji i haseł. Zalecane jest użycie odpowiednio silnych haseł.
Po utworzeniu klucza, przechodzimy do ustawie projektu w App Center i wybieramy On w sekcji Sign builds.
Po dodaniu niezbędnych haseł i wcześniej wygenerowanego pliku wybieramy Save. Od teraz nasza aplikacja będzie automatycznie podpisywana cyfrowo.
Istotną funkcją jest tutaj również buildowanie aplikacji po dodaniu jakichkolwiek zmian na wybranych branchu naszego repozytorium. Upewnijmy się, że w ustawieniach aplikacji App Center funkcja Build frequency jest zaznaczona na Build this branch on every push.
Sprawmy teraz, że aplikacja wykona build na zewnętrznym serwerze. Dodajmy dowolną zmianę w pliku App.js znajdującym się w katalogu głównym projektu React Native oraz następnie wyślijmy zmianę na repozytorium.
App Center automatycznie zacznie proces kompilacji na zewnętrznym serwerze. W trakcie trwania tego procesu muszą zostać pobrane i zainstalowane niezbędne pakiety i biblioteki dlatego może to chwilę potrwać.
Wygenerowany pakiet aplikacji można w łatwy sposób udostępnić innym. W tym celu wybieramy opcję Distribute w menu głównym aplikacji App Center. Następnie wybieramy New Release oraz zamiast manualnie uploadować aplikację wybieramy opcję Distribute an Existing Build oraz wybieramy branch na którym wcześniej została skompilowana aplikacja.
W kolejnych krokach wybieramy wersję pakietu aplikacji oraz do kogo skierowane jest udostępnienie. Testerów możemy dodać w zakładce Settings i Collabolators.
Po tych czynnościach testerzy otrzymają powiadomienie o nowej wersji aplikacji.