Porady

9
Lis

Integracja aplikacji App Center z Bitbucket


App Center dostarcza kilka bardzo ciekawych funkcjonalności. Jedną z nich jest połączenie z repozytorium przy użyciu najpopularniejszych serwisów.

Wybór serwisu naszego repozytorium



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.

Okno dialogowe tworzenia nowego repozytorium Bitbucket



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 

 

Strona startowa repozytorium Bitbucket



Po wysłaniu projektu na repozytorium dodajemy je w usłudze App Center, wybierając z listy dostępnych repozytoriów.


Konfiguracja funkcji aplikacji

Przechodzimy do ustawień projektu w App Center.

Okno dialogowe ustawień projektu aplikacji w usłudze App Center

 

Opis wybranych funkcji

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 dostaje powiadomienie o nowej wersji aplikacji.

Automatically increment version code – system dba o to, 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 ewentualnych crashów i błędów niewykrytych w trakcie procesu kompilacji.

Distribute builds – aplikacja może być aktualizowana w sklepach Google Play/App Store/Intune w sposób automatyczny.

Podpisywanie pakietów

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.

Okno dialogowe ustawień z sekcją Sign builds



Po dodaniu niezbędnych haseł i wcześniej wygenerowanego pliku wybieramy Save. Od teraz nasza aplikacja będzie automatycznie podpisywana cyfrowo.

Kompilacja po pushu 

Istotną funkcją jest tutaj również buildowanie aplikacji po dodaniu jakichkolwiek zmian na wybranym branchu naszego repozytorium. Upewnijmy się, że w ustawieniach aplikacji App Center funkcja Build frequency jest zaznaczona na Build this branch on every push.


Wartości opcji Build frequency



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, a 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ć.

Okno buildowania aplikacji w usłudze App Center

 

Dystrybucja aplikacji testerom 

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. Zamiast manualnego uploadowania aplikacji zaznaczamy opcję Distribute an Existing Build oraz branch, na którym wcześniej została skompilowana aplikacja.

Wybór szczegółów nowej wersji

 

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.

Sekcja użytkowników biorących udział w projekcie



Po tych czynnościach testerzy otrzymają powiadomienie o nowej wersji aplikacji.

8
Lis

Połączenie aplikacji React Native z usługą App Center


Visual Studio App Center to narzędzie stworzone przez Microsoft udostępniające narzędzia do zarządzania całym cyklem życia aplikacji, w tym automatycznym kompilowaniem aplikacji, testowaniem na fizycznych urządzeniach w chmurze czy udostępnianiem aplikacji testerom i użytkownikom z użyciem sklepów. App Center posiada wsparcie dla wielu różnych technologii, w tym dla React Native.

Wykorzystując App Center w procesie tworzenia aplikacji, zapewniamy skrócony czas poświęcony na kompilację czy dystrybuowanie aplikacji, a ze względu na moduły analityczne i diagnostyczne mamy możliwość szybszego zdiagnozowania i pozbycia się błędów.

 

Połączenie App Center z aplikacją React Native

Pierwszym krokiem będzie stworzenie nowego projektu React Native, używając polecenia:

react-native init akanza_appcenter_sample 

Następnie zajmiemy się stworzeniem odpowiedniej instancji aplikacji w systemie App Center.

Po wejściu nas stronę https://appcenter.ms tworzymy nowe konto. 

App center - widok okna
Ekran startowy serwisu App Center



Następnie tworzymy nową aplikację, wybierając platformę React Native i system (Android lub iOS). 

Nowa aplikacja App Center
Tworzenie nowego projektu aplikacji

 

Konfiguracja biblioteki po stronie aplikacji mobilnej

Kolejnym krokiem będzie zainstalowanie odpowiednich bibliotek i skonfigurowanie biblioteki App Center po stronie aplikacji mobilnej.

Po wejściu do folderu aplikacji w terminalu wpisujemy poniższą komendę: 

npm install appcenter appcenter-analytics appcenter-crashes --save-exact


W katalogu android/app/src/main/assets/ tworzymy nowy plik o nazwie appcenter-config.json z poniższą zawartością:

{ 
    "app_secret": "kod pobrany ze strony projektu"
} 

Kod app_secret możemy pobrać ze strony głównej projektu aplikacji App Center

W pliku strings.xml znajdującym się w katalogu res/values dodajemy poniższe wartości:

<string name="appCenterCrashes_whenToSendCrashes" moduleConfig="true" translatable="false">DO_NOT_ASK_JAVASCRIPT</string> 

<string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string> 


Następnie uruchamiamy aplikację, używając polecenia:

react-native run-android

Po tych krokach do naszej aplikacji dodamy bibliotekę App Center i umożliwimy korzystanie z jej modułów.

23
Paź

Ochrona danych w kontekście biznesowym

Przy gwałtownie postępującym rozwoju oraz digitalizacji procesów biznesowych narodziła się potrzeba ochrony systemów informatycznych. Przedsiębiorcy w znakomitej większości są świadomi zagrożeń bezpieczeństwa oraz potrzeby protekcji danych. 

Szyfrowanie jest metodą konwersji danych z czytelnego formatu (plaintext) na format zakodowany (cipertext). Dane można odczytać lub przetworzyć dopiero po ich odszyfrowaniu. Odbywa się to przy użyciu klucza deszyfrującego lub unikalnego hasła. Aby proces ochrony danych przebiegał pomyślnie, tylko nadawca i odbiorca powinni mieć dostęp do klucza odszyfrowującego.

Zaszyfrowane dane mogą być podatne na ataki z kilku stron. Najczęściej hakerzy wykorzystują programy komputerowe do złamania algorytmów i uzyskania dostępów do zaszyfrowanej treści. Zwykle wiąże się to również z zainfekowaniem urządzeń firmy złośliwym oprogramowaniem, które śledzi dane przesyłane w sieci.

szyfrowanie

Do popularnych algorytmów szyfrowania należy między innymi RSA. Pozwala na asymetryczną enkrypcję danych. Używa pary kluczy: publicznego – używanego do szyfrowania wiadomości oraz prywatnego – używanego do jej odszyfrowania. 

W większości nowoczesnych aplikacji dane są wprowadzane przez użytkowników, przetwarzane, a następnie przechowywane w bazie danych. Takie „dane w spoczynku” – data at rest – są potencjalnie atrakcyjne dla atakujących, ponieważ posiadają znaczące nazwy plików oraz struktury logiczne, które mogą wskazywać na dane osobowe, karty kredytowe czy też własność intelektualną.



Szyfrowanie można wykonać na czterech poziomach:

  • Szyfrowanie na poziomie aplikacji – modyfikacja danych zanim zostaną zapisane w bazie danych; proces szyfrowania jest dostosowany do użytkownika na podstawie ról i uprawnień w systemie.
  • Szyfrowanie bazy danych – w celu zabezpieczenia danych można szyfrować całą bazę lub jej część; klucze szyfrujące są przechowywane i zarządzane przez system.
  • Szyfrowanie na poziomie plików – umożliwia zarówno szyfrowanie katalogów, jak i pojedynczych plików; metoda wykorzystuje agenty programowe – software agents – które przerywają odczytywanie i zapisywanie wywołań na dyskach.
  • Pełne szyfrowanie dysku – automatycznie konwertuje dane na dysku twardym do postaci, której nie można odczytać bez klucza.


 

Podsumowanie

Ochrona danych osobowych

Ochrona przed wyciekiem danych stała się jednym z centralnych punktów strategii zarządzania przedsiębiorstwem. Minimalizacja ryzyka związanego z ich utratą powinna być nadrzędną wartością podczas tworzenia zaawansowanych systemów.

Jeśli twoja firma ma problem z ochroną danych lub potrzebujesz systemu z autoryzowanym dostępem, skontaktuj się z nami.