Code Repository Software

Types of Code Repository Software

W procesie rozwoju oprogramowania, gdy twój program opuszcza granice twojego systemu lub maszyny, istnieją generalnie cztery kluczowe komponenty, których będziesz potrzebował do bardziej udanego rozwoju twojego dzieła: dobrze zoptymalizowana strona internetowa, w pełni aktywna lista mailingowa, dobry issue tracker i bezpieczne repozytorium kodu.

Nawet jeśli większość infrastruktury wymaganej przez projekt tworzenia oprogramowania może być już dostępna w systemach wewnętrznych firmy, istnieje szeroki zakres narzędzi i usług, które mogą ułatwić zespołom programistów ich wysiłki w utrzymaniu i publikowaniu dobrze zbudowanego i udanego oprogramowania.

Dostępnych jest kilka różnych typów rozwiązań repozytorium kodu. Jest jeden określany jako hostowane obiekty kodu źródłowego hostowane przez renomowanego dostawcę usług, który jest znany jako instytucjonalne repozytorium, które są zazwyczaj prowadzone i zarządzane przez organizację z ich własnych usług kontroli wersji. W przeciwnym razie, istnieje również typ repozytorium kodu z infrastrukturą zaprojektowaną i zarządzaną przez samą firmę.

Usługi hostowane

Usługi hostowane są powszechnym rozwiązaniem dla twórców oprogramowania pracujących ze współpracownikami i osobami zatwierdzającymi w złożonych projektach, zwłaszcza gdy ci współpracownicy są rozmieszczeni w wielu instytucjach.

Niektóre z tych publicznych usług hostowanych i repozytoriów kodu są faktycznie dość popularne w branży, co obejmuje GitHub, GitLab, BitBucket, Launchpad, SourceForge, Savannah i Assembla. Jednak nie wszystkie z tych rozwiązań oferują dokładnie takie same usługi. GitHub oferuje silne środowisko dla twórców oprogramowania jako usługa skoncentrowana na programistach. BitBucket jest usługą hostowaną przez Atlassian, dostawcę usług znanego ze swoich rozwiązań do współpracy, do których należą Confluence i JIRA.

GitLab, z drugiej strony, jest internetowym menedżerem repozytoriów Git, który jest wyposażony w funkcje wiki i issue tracking. Usługa oferuje również lokalne repozytorium, które może być zainstalowane w ramach infrastruktury instytucji lub organizacji.

SourceForge jest jedną z najstarszych i najbardziej ugruntowanych platform hostowanych dla projektów rozwoju oprogramowania i repozytoriów kodu źródłowego. Usługodawca oferuje większość funkcji i możliwości, jakich można oczekiwać od repozytorium.

Launchpad jest hostowany przez Canonical i obsługuje kilku znanych użytkowników, takich jak Ubuntu i MySQL. Usługa jest wyposażona w śledzenie funkcji i specyfikacji, a także zarządzanie wydaniami Soyuz.

Assembla jest popularnym dostawcą usług hostowanych wśród mniejszych zespołów i organizacji. Oferuje szerokie możliwości zarządzania projektami, jak również usługi rozwoju oprogramowania. Savannah obsługuje większość oprogramowania GNU i kilka rozwiązań spoza GNU. Platforma koncentruje się na hostowaniu projektów rozwoju wolnego oprogramowania.

Instytucjonalne repozytoria kodu

Pomimo dostępności wielu usług hostowanych i internetowych repozytoriów kodu, wciąż istnieje wiele firm i organizacji, które prowadzą własne usługi kontroli wersji, menedżerów list dyskusyjnych i usług.

Więcej niż nie, ten rodzaj repozytorium kodu lub usługi rozwoju oprogramowania jest o wiele bardziej wydajne, jeśli deweloperzy i committers przypisane do projektu są oparte w organizacji hosting usługi. Jednakże repozytoria instytucjonalne są również zdolne do obsługi garstki zewnętrznych współpracowników.

Zarządzanie i prowadzenie własnej infrastruktury

Więc, jest usługa hostowana, repozytorium instytucjonalne, a następnie jest samodzielnie prowadzony system kontroli rewizji, taki jak SVN, CVS lub Git. Dostępne są również rozwiązania, które pozwalają organizacjom na uruchomienie własnego repozytorium oprogramowania przy użyciu pakietów takich jak Trac, GitLab, Savane (który zasila SourceForge, jak również Savannah), LibreSource, GForge i Codendi.

Ten typ rozwiązania repozytorium kodu wymaga poważnego zaangażowania, czasu i wysiłku, aby skonfigurować i utrzymać przepływ pracy i proces rozwoju. Jednak korzyścią jest to, że daje zespołom programistów i firmom największą kontrolę nad ich projektami i repozytorium, zwłaszcza jeśli chodzi o dostosowywanie.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.