Środowiska pracy developerów

Lokalne środowisko pracy

Dajemy wolność wyboru co do systemu operacyjnego – MacOS X, Windows, Linux…Pierwszym wymaganym składnikiem systemowym jest Git w jak najnowszej wersji.

Każdy developer powinien zainstalować aplikację Slack – jest to nasz komunikator firmowy. Każda osoba powinna mieć dostęp do naszego systemu Clickup. Dane dostępowe do wszystkich systemów udostępnia lider zespołu / ktoś z UK teamu. Oprócz tego, każdy developer posiada swoją skrzynkę mailową, którą należy regularnie sprawdzać i mieć włączone notyfikacje (tak samo jak w przypadku Slacka).

Back-end / PHP Developer

Większość projektów można uruchomić na Dockerze, dzięki docker-compose.yml umieszczonemu w root’cie projektu.
Projekty “niezdockerowane” można uruchomić za pośrednictwem manualnie zainstalowanych na komputerze developera komponentów takich jak Nginx (1.10.x), PHP 7.4 / 8.0+, MySQL 5.7+ (preferowane 8.0). Można korzystać z narzędzi takich jak MAMP.

Potrzebny będzie Composer (im nowsza wersja, tym lepiej).

Front-end Developer

Front-endowe projekty mogą się różnić między sobą odnośnie potrzebnych komponentów do ich uruchomienia. Standardowo na pewno potrzebny jest NodeJS w wersji przynajmniej 16.x+ i NPM w wersji od 8.1+.

Reszta składników zależy od projektów – podczas instalacji wg readme na pewno poradzisz sobie, aby doinstalować ewentualne brakujące komponenty.


Staging

Staging w naszej firmie to tzw. bigpic.dev (https://bigpic.dev). Każdy projekt ma swoje odzwierciedlenie na stagingu, np.: http://swiftpak-cms.bigpic.devhttps://ans-global.bigpic.devhttps://unicorn.bigpic.dev itd.

Staging jest uruchomiony na DigitalOcean, wraz z panelem administratora całego serwera o nazwie Runcloud. Czasem, ze względu na nietypowe wymagania projektowe, tworzymy staging projektu bezpośrednio na serwerze klienta.

Aby połączyć się do stagingu w celu np. przełączenia brancha albo uruchomienia migracji, należy połączyć się przez panel Runcloud (dane znajdziesz w firmowym managerze haseł jako RunCloud – Staging Server Control Panel).

Więcej informacji na temat stagingu (jak samodzielnie tworzyć instancje projektów, przełączać branch itd.) znajdziesz w tym dedykowanym artykule, opisującym stagingowe środowisko.

Jeżeli korzystasz z PHPMyAdmin, to na stagingu mamy uruchomioną tę aplikację pod adresem pma.bigpic.dev. Wystarczy podać login i hasło uzytkownika powiązanego z bazą danych utworzoną na stagingu, danego projektu.


Produkcja

Produkcyjne środowiska dla projektów w większości przypadków są uruchamiane i zarządzane przez nas na platformie DigitalOcean. Jak zazwyczaj tworzymy środowiska produkcyjne, można zobaczyć w filmie tutaj.

Deploy na produkcyjne środowiska odbywa sie z wykorzystaniem Jenkinsa (dane do logowania w naszym managerze haseł jako Jenkins (panel)). W momencie commita na branch master w repozytorium danego projektu, uruchamiany jest job na Jenkinsie odpowiadający temu projektowi (automatycznie).

Proces samodzielnego tworzenia produkcyjnych środowisk znajdziesz w tym repozytorium: Nginx server configuration & hardening.