devel_sending_changes

Wojciech Rygielski edited this page Aug 2, 2015 · 2 revisions

Jak wprowadzać zmiany w Opencaching.PL?

Kontrola wersji

Przede wszystkim musisz nauczyć się podstaw Gita: forkować nasze repozytorium i wiedzieć na czym polegają GitHubowe pull-requesty, umieć rebasować swój kod oraz rozwiązywać merge-konflikty.

Jak wprowadzać zmiany w kodzie OC (nie dotyczy OKAPI)

Jeśli chcesz, żeby jakaś zmiana pojawiła się na serwerze produkcyjnym, to Ty (lub inna osoba, z odpowiednimi uprawnieniami) musi zmergować zmianę do gałęzi master głównego repozytorium. Spowoduje do automatycznie uruchomienie skryptu post-commit.php na serwerze produkcyjnym, który zaktualizuje kod na maszynie produkcyjnej.

Jak wprowadzać zmiany w OKAPI?

OKAPI jest oddzielnym projektem (https://github.com/opencaching/okapi) i ma swoje własne repozytorium. Katalog okapi w naszym repozytorium jest jedynie kopią oryginalnego projektu.

  • Jeśli chcesz wprowadzić jakiekolwiek zmiany w OKAPI, to należy wprowadzać je w oryginalnym repozytorium OKAPI, a nie w katalogu okapi w naszym repozytorium.

  • Wszelkie zmiany w repozytorium OKAPI są automatycznie zgrywane do naszego repozytorium oraz instalowane na serwerze. Około 30 sekund po commitowaniu zmiana powinna być już widoczna.

  • W przypadku nie przestrzegania powyższego (tzn. commitowania jakiś zmian do katalogu okapi), zmiany te zostaną wycofane przy najbliższej aktualizacji OKAPI. Aktualny skrypt aktualizujący nie wykrywa takich sytuacji, zatem nikt nie dostanie żadnego maila z ostrzeżeniem - zmiany po prostu zostaną zastąpione najnowszą paczką OKAPI.

Jednym z założeń projektu OKAPI jest to, że jego kod jest dokładnie taki sam na wszystkich serwerach OpenCaching. Dlatego przed commitowaniem poprawki należy upewnić się, że będzie ona działać na wszystkich instalacjach, pamiętając o tym, że każda instalacja jest inna (w szczególności te bazujące na branchu OpenCaching.DE). Podobnie jak w przypadku głównego repozytorium OCPL, pierwszą pracę nad OKAPI zalecamy wykonywać w branchu i dać potem do przejrzenia komuś z nas.