# Zarządzanie zmiennymi środowiskami w usłudze Strona
Umożliwiamy zarządzanie konfiguracją strony poprzez Platformę poprzez wykorzystanie zmiennych środowisk. Stanowi to ułatwienie podczas aktualizacji i możliwość uniknięcia przechowywania konfiguracji lokalnie.
W większości funkcjonujących w usłudze Strona możemy wyróżnić część kodu aplikacji, część konfiguracji i część danych. Cześć kodu aplikacji jest owocem pracy programisty i definiuje zakres zachowania aplikacji. Część konfiguracji zawiera informacje na temat parametrów pracy aplikacji określonych przez administratora niezbędnych do działania określonych np. wskazane podczas instalacji dane dostępowe do serwera Bazy danych. Ostatnia część stanowi wartość wytworzoną podczas użycia aplikacji np. przesłane do aplikacji zdjęcia, stworzone treści.
Usługa Strona umożliwia przechowywanie wszystkich tych elementów wspólnie. Jest to klasyczne podejście sprawdzone w wielu projektach. Jednak w przypadku części użytkowników, którzy dokonują częstszych zmian w konfiguracji aplikacji to rozwiązanie nie jest optymalne.
Postanowiliśmy umożliwiamy możliwość zarządzania częścią konfiguracji aplikacji z wykorzystaniem Platformy. W tym celu został udostępniony mechanizm zarządzania zmiennymi środowiskowymi, które są przekazywane do aplikacji działającej w usłudze Strona. Dzięki temu – w przypadku odpowiedniego przygotowania aplikacji – nie ma konieczności edycji jakichkolwiek plików, a zmianę można wykonać poprzez Panel Zarządzania lub nadchodzące wydanie CLI.
W ramach każdego środowiska Strony istnieje dostęp do klienta Git - systemu kontroli wersji. Narzędzie to umożliwia ustalenie źródeł zmian w kodzie źródłowym aplikacji, czasu ich dokonywania, ich autorów oraz efektywne łączenie zmian dokonywanych przez wiele osób w różnym czasie. Ma to duży wpływ na możliwość prześledzenia sposobu zachowania się aplikacji w okolicznościach zmian w niej, a także – w przypadku wystąpienia błędów – sprawne ustalenie przyczyny zmiany zachowania systemu.
Jednakże w systemie kontroli wersji przechowanie danych dostępowych, gdyż na podstawie jednego kodu źródłowego aplikacja powinna być możliwa do wielokrotnego uruchomienia – w środowisku produkcyjnym, w środowisku przejściowym i wymaganej liczbie środowisk testowych. Rodzi to konieczność wprowadzania zmian dla każdego środowiska, aby wskazać np. dane dostępowe do Bazy danych. Poprzez wykorzystanie zmiennych środowiskowych możliwe jest tego uniknięcie na rzecz przechowywania tych informacji po stronie Platformy HyperOne dla każdej uruchomionej Strony.
Warto także wskazać, że usługa Strona udostępnia funkcjonalności migawek. Ta funkcja umożliwia natychmiastowe utrwalenia w postaci migawki stanu (plików) Strony w danym momencie. Taki stan może zostać następnie wykorzystany do utworzenia nowej Strony o identycznej zawartości. Każda Strona może posiadać utworzonych wiele migawek.
W przypadku odtworzenia Strony z migawki odtwarzane są wszystkie jej elementy zawarte w usłudze tj. kod aplikacji, część konfiguracji i przechowywane dane. To oznacza także, że odtworzone są informacje na temat dostępu do serwera Bazy danych, więc do jego zmiany np. przed próbną aktualizacją konieczne jest ponowna jej zmiana. Wykorzystanie zmiennych środowiskowych sprawia, że takie informacje będą indywidualne dla każdej Strony.
Adam Dobrawy - Warszawa, 27 lutego 2020 roku