Types van Code Repository Software
In een software ontwikkelingsproces, zodra uw programma verlaat de grenzen van uw systeem of machine, zijn er over het algemeen vier belangrijke componenten die u nodig hebt voor een meer succesvolle ontwikkeling van uw creatie: een goed geoptimaliseerde website, een volledig actieve mailinglijst, een goede issue tracker, en een veilige code repository.
Ondanks dat het grootste deel van de infrastructuur die nodig is voor een software-ontwikkelingsproject al beschikbaar kan zijn op de interne systemen van het bedrijf, is er een breed scala aan tools en diensten die ontwikkelteams kunnen helpen bij hun inspanningen om een goed gebouwde en succesvolle software te onderhouden en te publiceren.
Er zijn een paar verschillende soorten code repository-oplossingen beschikbaar. Er is er een die wordt aangeduid als een gehoste service-source code faciliteiten gehost door een gerenommeerde dienstverlener, die bekend staat als een institutionele repository-dat worden meestal uitgevoerd en beheerd door de organisatie met hun eigen versie-controle diensten. Anders is er ook het type code repository met een infrastructuur ontworpen en beheerd door het bedrijf zelf.
Hosted Services
Hosted services zijn een veel voorkomende oplossing voor software ontwikkelaars die werken met medewerkers en committers aan complexe projecten, vooral wanneer die medewerkers verspreid zijn over meerdere instellingen.
Sommige van deze publieke gehoste diensten en code repositories zijn eigenlijk heel populair in de industrie, waaronder GitHub, GitLab, BitBucket, Launchpad, SourceForge, Savannah, en Assembla. Niet al deze oplossingen bieden echter exact dezelfde diensten aan. GitHub biedt een sterke omgeving voor softwareontwikkelaars als een dienst die gericht is op ontwikkelaars. BitBucket is een dienst die wordt gehost door Atlassian, een dienstverlener die bekend staat om zijn collaboratieve oplossingen, waaronder Confluence en JIRA.
GitLab, aan de andere kant, is een web-gebaseerde Git repository manager die wordt geleverd met wiki en issue tracking functionaliteiten. De service biedt ook een lokale repository die kan worden geïnstalleerd binnen de infrastructuur van de instelling of organisatie.
SourceForge is een van de oudste en meest gevestigde gehoste platforms voor software-ontwikkelingsprojecten en broncode repositories. De dienstverlener biedt het merendeel van de functies en mogelijkheden die men zou verwachten van een repository.
Launchpad wordt gehost door Canonical en het richt zich op verschillende bekende gebruikers zoals Ubuntu en MySQL. De service wordt geleverd met het bijhouden van functies en specificaties, evenals Soyuz release management.
Assembla is een populaire gehoste dienstverlener onder kleinere teams en organisaties. Het biedt uitgebreide project management faciliteiten en software ontwikkelingsdiensten. Savannah richt zich op het merendeel van de GNU-software en een paar niet-GNU-oplossingen. Het platform richt zich op het hosten van vrije software-ontwikkelingsprojecten.
Institutionele Code Repositories
Ondanks de beschikbaarheid van een veelheid aan gehoste diensten en web-gebaseerde code repositories, zijn er nog steeds een aantal bedrijven en organisaties die hun eigen versie-controle diensten, mailing list managers, en diensten draaien.
Meer dan eens is dit type code repository of software ontwikkelingsdienst een stuk efficiënter als de ontwikkelaars en committers die aan het project zijn toegewezen, gevestigd zijn bij de organisatie die de dienst host. Institutionele repositories kunnen echter ook een handvol externe medewerkers aan.
Het beheren en beheren van je eigen infrastructuur
Dus, er is de gehoste service, de institutionele repository, en dan is er nog het zelf draaiende revisie-controle systeem zoals SVN, CVS, of Git. Er zijn ook oplossingen beschikbaar die organisaties in staat stellen om hun eigen software repository te beheren, met pakketten als Trac, GitLab, Savane (dat zowel SourceForge als Savannah voedt), LibreSource, GForge, en Codendi.
Dit type code repository oplossing vereist serieuze toewijding, tijd en moeite om de workflow en het ontwikkelproces op te zetten en te onderhouden. De beloning is echter dat het ontwikkelteams en bedrijven de meeste controle geeft over hun projecten en repository, vooral als het aankomt op maatwerk.