Jak zautomatyzować dystrybucję betaaplikacji na Fabricu dzięki Fastlane

Mateusz Tylman on 5 września 2018

Zarządzanie publikacją kolejnych wersji betaaplikacji nie należy do przyjemnych zajęć. Musimy pamiętać o aktualizacji numeru wersji, ustawieniu odpowiedniego targetu czy wybraniu konkretnych maili z listy na Fabric. Nie trudno zapomnieć o którejś z powyższych czynności, gdy kolejna wersja aplikacji jest już gotowa. Dlatego postanowiłem skorzystać z fantastycznego narzędzia Fastlane, które pozwoliło mi w pełni zautomatyzować powtarzalne czynności.

W tym artykule opiszę konfigurację tego narzędzia tak, abyś mógł samodzielnie wdrożyć Fastlane w swoim projekcie. Dodamy plik fastfile, którego użycie pozwoli automatycznie zwiększyć wersję aplikacji, wygenerować build oraz udostępnić go poprzez Fabric. Dodatkowo zostanie wysłany commit informujący o nowej wersji. Zaczynajmy!

  1. Instalacja Fastlane

Aby zainstalować fastlane, należy wywołać komendę w terminalu:

Po pomyślnej instalacji otrzymujemy komunikat:

2. Przygotowanie projektu do instalacji Fastlane

Przy budowaniu fastfile skorzystamy z gotowych akcji zdefiniowanych w fastlane. Niektóre z nich wymagają odpowiedniego przygotowania naszego projektu.

Aby umożliwić automatycznie zwiększanie wersji projektu, należy włączyć agvtool. Przechodzimy do zakładki Build Settings w targecie, następnie wyszukujemy frazy versioning.

Ustawiamy:

– Current Project Version na 1 (lub inna wartość),

– Versioning System na Apple Generic.

Dodatkowo wersja projektu musi być w formacie A.B.C.

Pamiętajmy również o prawidłowym ustawieniu provisioning profile. Dobrym sposobem na uporządkowanie podpisywania aplikacji jest dodanie osobnych targetów dla wersji ad-hoc oraz appstore.

  1. Inicjalizacja fastfile

Integrację projektu z fastlane rozpoczynamy od stworzenia pliku fastfile. Przechodzimy w terminalu do głównego folderu naszego projektu, a następnie używamy komendy:

Konfiguracja rozpoczyna się od pytania, czy chcemy użyć któregoś z gotowych już szablonów:

My natomiast skonfigurujemy projekt sami, więc wybieramy opcję numer 4. Po chwili pojawi się komunikat informujący o prawidłowym skonfigurowaniu fastlane. Dodatkowo, musimy zatwierdzić kilka tipów, wciskając klawisz Enter.

Projekt powinien w tym momencie wyglądać tak:

Pewnie zauważyliście, oprócz folderu fastlane, w którym znajdują się pliki Appfile  oraz Fastfile , konfigurator wygenerował nam również 2 pliki Gemfile . Służą one do zarządzania wersjami, aby każdy, kto pracuje przy tym samym projekcie, używał dokładnie takich samych wersji gemów.

W tym artykule opuścimy ten etap (dla ciekawych link do dokumentacji https://bundler.io) i przejdziemy bezpośrednio do fastfile.

  1. Konfiguracja fastfile

Otwórzmy nasz świeżo wygenerowany fastfile, używając edytora. Polecam darmowy program Visual Studio Code, do którego możemy doinstalować plugin iOS Common Files (link: https://marketplace.visualstudio.com/items? itemName=Orta.vscode-ios-common-files), który automatycznie wybiera język i koloruje składnie.

Fastfile składa z tzw. lane’ów. Najprościej mówiąc, pojedynczy lane możemy rozumieć jako funkcję, w której wykonywane są szeregowo akcje. Zdefiniujmy sobie kilka globalnych zmiennych, które ułatwią nam wywoływanie akcji.

Teksty pisane Caps Lockiem należy uzupełnić według ich opisu. Dzięki tak zdefiniowanym zmiennym zachowujemy porządek oraz czytelność naszego kodu. Dodatkowo, wszystkie wygenerowane buildy zapisywane będą do osobnego folderu build, który zostanie później utworzony.

  1. Tworzenie lane’ów

Stwórzmy kilka lane’ów odpowiedzialnych za mniejsze funkcjonalności, a na końcu połączymy je w jeden (będzie on odpowiedzialny za budowanie oraz udostępnianie nowej wersji na Fabric). Zacznijmy od zwiększania numeru wersji oraz builda.

Dzięki wcześniejszemu przygotowaniu projektu skorzystamy z gotowych akcji (url: https://docs.fastlane.tools/actions/).

Jak widzicie, jest to banalnie proste. Użyliśmy gotowych akcji, które całą pracę wykonają za nas.

Teraz czas skorzystać z lane’a odpowiedzialnego za archiwizowanie wersji ad-hoc. W tym celu użyjemy odpowiednio skonfigurowanej akcji build_app . Dodatkowo, sprawdzimy, czy istnieje folder build, jeśli nie, to go stworzymy.

Dodajmy zatem kolejny lane, tym razem odpowiedzialny za udostępnianie wersji poprzez Fabric oraz wysłanie plików dSYM. Pamiętajmy, aby uzupełnić wcześniejsze globalne zmienne o klucze do Crashlytics.

Ostatnim krokiem będzie wysłanie commit z tagiem informującym o numerze wersji.

Stworzone przez nas lane’y są gotowe do użycia. Dodajmy zatem ostatni, który je wszystkie odpali:

Tak przygotowany plik fastfile pozwoli nam wygenerować nowy build i udostępnić go na Fabric.

  1. Uruchomienie

Aby uruchomić stworzony przez nas lane, przejdźmy ponownie w terminalu do głównego folderu naszego projektu. Wywołajmy:

Cały proces może trochę potrwać (w końcu budujemy aplikację). Jeśli jednak skonfigurowaliśmy prawidłowo projekt, uzupełniliśmy dane w globals , powinniśmy na końcu procesu otrzymać komunikat o prawidłowym wygenerowaniu wersji.


Gratulacje! Właśnie zbudowałeś nową wersję swojej aplikacji, udostępniłeś ją wybranym adresom email poprzez Fabric oraz wysłałeś commit informujący o zwiększeniu numeru wersji. I to wszystko, używając tylko jednej komendy!

Gotowy plik fastfile możecie pobrać z: 
https://github.com/Appchance/automate-fabric-beta-distribution-with-fastlane

Tagi: , , , ,

Przeczytaj również

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *