Pierwsze kroki

Główne komponenty

Podczas pracy z Odoo.sh ważne jest zrozumienie głównych zaangażowanych elementów:

Choć wszystkie te elementy są ze sobą powiązane, każdy z nich pełni odrębną rolę w tworzeniu i wdrażaniu aplikacji Odoo. Razem tworzą spójny proces, od tworzenia kodu aż po jego użycie w działającej firmie.

Repozytorium GitHub

Repozytorium GitHub jest jak folder na komputerze zawierający wszystkie pliki i foldery danego projektu. Różnica polega na tym, że jest ono przechowywane na GitHub i może być dostępne oraz edytowane przez wiele osób na różnych komputerach.

Innymi słowy, repozytorium GitHub to miejsce, w którym można przechowywać pliki projektu i udostępniać je innym, aby mogli współpracować, wprowadzać zmiany i wnosić wkład w projekt. Śledzi ono również wszystkie zmiany w projekcie w czasie, dzięki czemu w razie potrzeby można łatwo cofnąć się do poprzedniej wersji.

Dodatkowo GitHub oferuje wiele funkcji ułatwiających zarządzanie projektem, takich jak śledzenie zgłoszeń, żądania scalenia (pull requests) i przeglądy kodu. Jest to potężne narzędzie do zarządzania projektami programistycznymi i współpracy przy nich, szeroko stosowane przez programistów na całym świecie. To przestrzeń z kontrolą wersji, w której przechowywany jest kod źródłowy aplikacji Odoo. Śledzi każdą zmianę, wspiera współpracę i może być publiczna lub prywatna.

Przykład repozytorium GitHub

Projekt Odoo.sh

Projekt Odoo.sh to rozwiązanie Platform as a Service (PaaS), które integruje się z GitHub i umożliwia usprawnione tworzenie, testowanie oraz wdrażanie aplikacji Odoo. Zawiera narzędzia takie jak automatyczne kopie zapasowe, środowiska testowe (staging) oraz procesy ciągłej integracji.

Przykład projektu Odoo.sh

Baza danych Odoo

Baza danych Odoo przechowuje wszystkie dane operacyjne używane i generowane przez aplikacje Odoo, takie jak dane biznesowe, konfiguracje i dane użytkowników.

Przykład bazy danych Odoo

Typy użytkowników

Odoo.sh obejmuje różne typy użytkowników, z których każdy pełni określoną rolę w cyklu życia projektu:

  • Użytkownicy GitHub: programiści posiadający dostęp do repozytorium GitHub powiązanego z projektem Odoo.sh. Dostęp do repozytorium nie oznacza automatycznie, że dana osoba jest współpracownikiem projektu Odoo.sh.

  • Współpracownicy Odoo.sh: osoby zarządzające projektem Odoo.sh. Każdy współpracownik musi być powiązany z użytkownikiem GitHub. Współpracownicy nie są jednak tożsami z użytkownikami bazy danych.

  • Użytkownicy bazy danych: użytkownicy końcowi wdrożonej bazy danych Odoo. Korzystają z działającego systemu, ale nie uczestniczą w tworzeniu ani zarządzaniu projektem.

Pojęcia techniczne

Pracując z Odoo.sh, ważne jest również zrozumienie kilku pojęć technicznych:

Forkowanie repozytorium

Forkowanie repozytorium na GitHubie polega na utworzeniu kopii cudzego repozytorium na własnym koncie. Pozwala to na wprowadzanie zmian w repozytorium bez wpływu na oryginalną wersję.

Kiedy forkujesz repozytorium, tworzysz własną kopię repozytorium, wraz ze wszystkimi plikami i folderami z oryginalnego repozytorium. Możesz następnie wprowadzać zmiany w plikach w swojej kopii repozytorium i zatwierdzać je, tak samo jak w przypadku każdego innego repozytorium.

Zaletą forkowania repozytorium jest możliwość wprowadzania zmian w kodzie bez wpływu na oryginalną wersję, co jest przydatne, gdy chcesz eksperymentować z nowymi funkcjami lub naprawiać błędy w cudzym kodzie. Możesz również użyć sforkowanego repozytorium jako punktu wyjścia dla swojego projektu, wprowadzając zmiany w miarę potrzeb.

Po wprowadzeniu zmian w sforkowanym repozytorium możesz przesłać pull request do właściciela oryginalnego repozytorium, prosząc go o scalenie twoich zmian z powrotem do jego repozytorium. Jest to powszechne podejście w projektach open source do akceptowania wkładu innych programistów i może być świetnym sposobem na zaangażowanie się w społeczność oraz rozwijanie umiejętności programistycznych.

Wypychanie commita

Kiedy wprowadzasz zmiany w jednym pliku lub kilku plikach w repozytorium Git na swoim lokalnym komputerze, te zmiany są uznawane za niezatwierdzone. Innymi słowy, Git wie, że zmiany zostały wprowadzone, ale nie zostały jeszcze oficjalnie zapisane ani zarejestrowane.

Aby zapisać te zmiany i dodać je do repozytorium Git, musisz utworzyć commit. Commit to migawka zmian wprowadzonych w plikach w określonym momencie. Rejestruje on, jakie zmiany zostały wprowadzone, kto je wprowadził i kiedy.

Po utworzeniu commita możesz go wypchnąć do repozytorium zdalnego, na przykład hostowanego na GitHubie. Wypychanie commita oznacza wysłanie zmian wprowadzonych w commicie z lokalnego repozytorium do repozytorium zdalnego, aby inni mogli je zobaczyć i wykorzystać.

Podsumowując, wypychanie commita oznacza wysłanie zmian wprowadzonych w plikach repozytorium Git z lokalnego komputera do repozytorium zdalnego. Jest to sposób na dzielenie się zmianami z innymi i współpracę nad projektem.

Scalanie gałęzi

Scalanie jednej gałęzi z drugą to proces łączenia zmian wprowadzonych w jednej gałęzi z drugą. Załóżmy na przykład, że utworzyłeś nową gałąź o nazwie feature-branch, aby pracować nad nową funkcją swojego projektu. Po zakończeniu wprowadzania zmian w tej gałęzi możesz scalić te zmiany z powrotem do gałęzi głównej (często nazywanej master lub main).

Podczas scalania gałęzi Git analizuje zmiany w obu gałęziach i próbuje je połączyć. Jeśli wystąpią jakiekolwiek konflikty między zmianami wprowadzonymi w obu gałęziach, Git poprosi o ich rozwiązanie przed ukończeniem scalania (na poziomie kodu).