Personlig GitHub

Detta blir ett experimenterande inlägg där ambitionen är att skapa en lokal variant av GitHub för de tillfällen när man vill hålla all kod innanför brandväggen, eller helt utanför Internet.

Jag skriver och kommenterar under tiden jag jobbar så det är först mot slutet av artikeln du får reda på hur det gick.

Jag börjar med en Ubuntu Server 14.04, men det finns fler alternativ med den lösning som jag valt för mina experiment. Jag har valt GitLab och installationen verkar vara ganska enkel. Rent formellt så är detta inte GitHub utan en Git-lösning levererad av en kommersiell leverantör.

sudo apt-get install curl openssh-server ca-certificates postfix
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
sudo gitlab-ctl reconfigure

Sedan pekar man sin webbläsare mot servern och loggar in med användaren root och lösenordet 5iveL!fe.

git_login

Vid inloggningsskärmen verkar det även gå att skapa en ny användare, men jag börjar med administrationen.

Aha! Då får man byta lösenord till något mer personligt och unikt! Bravo.

Jag provar att logga ut och skapa en ny användare, vilket verkar gå bra, men detta kräver att man bekräftar e-post via mail, vilket man kanske inte har innanför en brandvägg eller off-line.

gitlabconfirm

Det går dock att såväl skapa användare, som bekräfta e-post i administratörsgränssnittet.

När jag skapar ett nytt projekt så möts jag av ett antal inställningar och importmöjligheter. Då jag är ”off-line” så är import inte aktuell, så jag skapar ett enkelt testprojekt.

nyttprojekt

Sedan möts man av en projektsida med information om olika git-kommandon som känns igen från GitHub.

Sättet att skriva text i README.md så att stilen formateras snyggt verkar inte vara den samma som för GitHub, men vanlig HTML fungerar till skillnad från GitHub.

ladda upp

En annan  skillnad mot GitHub är att det direkt går att ladda upp filer till projektet. Detta är en funktion som jag saknat i GitHub så det är välkommet.

När jag hoppar runt och provar lite ytligt så känns det ganska bra. Många funktioner som jag saknat med GitHub hittar jag här och sådant som även finns i GitHub verkar fungera på ett bra sätt även här, dock ser det mesta lite annorlunda ut.

Detta är en ”Community Edition” (MIT licens) så fullständig funktionalitet finns inte med. Exempelvis så finns det stöd för LDAP och AD, men för fullt stöd och synkronisering av grupper krävs ”Enterprise” versionen. Då får man även Kerberos stöd för användarinloggning.

I en redan säker miljö så borde dock denna version fungera säkerhetsmässigt, så länge det är inte allt för många användare som skall administreras.

Jag är dessutom lite osäker på hur ”Enterprise” fungerar utan Internet då det är en kostnad per användare och år som används som licensmodell.

Vill du jämföra versionerna finns det en tabell för detta (https://about.gitlab.com/features/#compare).

Sammanfattning

Det här känns ganska bra! Jag måste naturligtvis testa lite mera och då gärna med flera användare. Om det bara lever upp till vad jag sett så här långt så kommer GitLab att erbjuda möjlighet att hantera exempelvis pythonskript och insticksprogram i en skyddad datormiljö.

Dessutom så kan man ladda upp filer (inte för stora utan Enterprise) och dela nedladdningslänkar till dessa på samma sätt som för GitHub. Är rättigheterna satta så kan man även begränsa vem som får ladda hem vad.

GeoNode som jag testade tidigare är utmärkt för att dela och publicera geodata, kartor och dokument, men för filer av kod-karaktär så skulle GitLab fungera bra. Även stilfiler för QGIS eller xml-baserade geodata skulle kunna hanteras här intill dess man är nöjd, och då publicera dessa på GeoNode.

GitLab är ju dessutom ”kollaborativt” där det går att sätta projektmål, öppna frågeställningar som följs upp och avslutas, vilket ger en bra uppföljning på startade projekt. Spårbarhet i kod och återanvändning är något som tillför säkerhet i projektet, vilket också är välkommet.

 

Advertisements

Taggar:

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: