Kategorien
Git GitHub Software

Eigenes GitHub für 4,49 € monatlich

OK, es ist natür­lich kein rich­tig Git­Hub, son­dern der Open-Source-Klon Git­Lab, den man kos­ten­frei auf eige­ner Hard­ware betrei­ben kann. Sofern man einen Ent­wick­lungs­ser­ver für ein klei­nes Team von Ent­wick­lern sucht, kann man sich mit wenig Auf­wand eine eige­ne Maschi­ne dafür her­rich­ten. Die Restrik­tio­nen, die Git­Hub bei den kos­ten­pflich­ti­gen Accounts auf­er­legt, gel­ten hier natür­lich nicht. Ein­zig und allein die ver­füg­ba­re Hard­ware, bzw. hier die vir­tua­li­sier­te Hard­ware, bil­det die Gren­ze nach oben. Wer aber mit einem klei­nen Team von sagen wir 10 Mann an Pro­jek­ten arbei­tet, dürf­te mit der von mir vor­ge­schla­ge­nen Lösung gut zurecht kom­men.

Wenn als das ange­spro­che­ne Team mit fünf pri­va­ten Repo­sito­rys aus­kommt, zahlt nur 7 US-$ monat­lich, also etwas über 5 € beim der­zei­ti­gen Wech­sel­kurs, für 10 Repo­sito­rys blät­ter man dann etwa 8,50 € hin, und so wei­ter. Arbei­tet man mit unter­schied­li­chen Teams an unter­schied­li­chen Pro­jek­ten, auf die unter­schied­li­che Zugriffs­rech­te ver­ge­ben wer­den sol­len, wird es aber schnell teu­er. Dafür bie­tet Git­Hub die Orga­ni­za­ti­on Plans an. Die star­ten bei 25 $ im Monat, also etwa 18 €. Brau­chen die­se Teams mehr als 10 Repo­sito­rys, lan­det man schon bei 50 $. Außer­dem lie­gen die Daten in den USA, was viel­leicht auch nicht immer erwünscht ist.  Ich möch­te Git­Hub jetzt aber auch nicht schlecht machen, die Platt­form selbst ist geni­al. Aber eben nicht für jeden geeig­net.

Zurück zu mei­nem Pro­jekt: ich habe ein Pro­dukt der Fir­ma net­cup GmbH ver­wen­det, um mei­nen eige­nen Ser­ver auf­zu­set­zen. Die bie­ten eine klei­ne Instanz für gera­de mal 4,49 € monat­lich an. Dabei han­delt es sich um einen auf KVM basie­ren­den vSer­ver, der zwar nur einen Atom-Kern und 1 GB RAM hat, dafür aber immer­hin 60 GB Fest­plat­ten­platz anbie­tet. Für eine nicht sehr inten­siv genutz­te Instanz von Git­Lab aus­rei­chend. Git­Lab selbst emp­fiehlt min­des­tens 768 MB RAM, wir lie­gen mit die­ser Maschi­ne also ober­halb der emp­foh­le­nen Min­dest­men­ge.

Bei mir hat es nur weni­ge Stun­den gedau­ert, bis ich Zugriff auf mei­nen vir­tu­el­len Ser­ver hat­te. Ach­tung: die Instanz wird jähr­lich im Vor­aus berech­net, es fal­len also rund 60 € auf einen Schlag an. Man kann trotz­dem monat­lich kün­di­gen und bekommt dann sein über­be­zahl­tes Geld zurück. Wer nach spä­tes­tens einem Monat sagt, dass er unzu­frie­den ist, bekommt sein Geld voll­stän­dig erstat­tet. Eine fai­re Sache, wie ich fin­de.

Mit den erhal­te­nen Zugangs­da­ten mel­det man sich nun im VCP-Web­in­ter­face an und instal­liert sei­ne nagel­neue VM am Bes­ten gleich frisch neu. Die vor­in­stal­lier­te Ver­si­on beinhal­tet vie­les, das wir gar nicht benö­ti­gen, also weg damit. Ich emp­feh­le, ein Debi­an 7.0 Whee­zy zu instal­lie­ren. Das Sys­tem ist sta­bil und rela­tiv schlank. Danach geht es an die Instal­la­ti­on.

Die Anlei­tung, die das Git­Lab-Pro­jekt geschrie­ben hat, ist sehr ein­fach und ver­ständ­lich, wenn man schon das eine oder ande­re Mal mit der Kon­so­le zu tun gehabt hat. Die Anlei­tung befin­det sich hier:

https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md

Nach der Instal­la­ti­on kann man sich bereits mit dem ange­leg­ten Stan­dard-Admin anmel­den, des­sen Daten man natür­lich umge­hend ändern soll­te. Stan­dard­be­nut­zer­na­men und natür­lich erst recht ‑kenn­wör­ter soll­te nie­mals unver­än­dert blei­ben.

Dann ist die Git­Lab-Instanz bereits ein­satz­be­reit. Die Bedie­nung der Web-GUI ist intui­tiv, jeder Schritt wird recht gut erklärt. Updates erle­digt man am Bes­ten unter Zuhil­fe­nah­me des Upgrade-Scripts. Sofern man die Stan­dard­in­stal­la­ti­on durch­führt und kei­ne Varia­blen anpasst, dürf­te das stress­frei durch­lau­fen.

Für Fra­gen dürft ihr natür­lich ger­ne die Kom­men­tar­funk­ti­on ver­wen­den.

Kategorien
Apple Git GitHub

Git und der Mac

Ich arbei­te nun schon gerau­me Zeit, unge­fähr ein hal­bes Jahr, mit Git. Wis­sen viel­leicht eini­ge schon, da ich, eben­falls vor einer Wei­le, eine Instal­la­ti­ons­an­lei­tung für den eige­nen Git-Ser­ver publi­ziert habe.

Nun möch­te ich aber ein paar Wor­te der Cli­ent-Sei­te wid­men, in mei­nem Fal­le also der Ver­wen­dung von Git unter Mac OS X. Wirk­li­che Pro­ble­me gibt es dabei nicht, nur eini­ge “nice-to-knows”, die ich an die­ser Stel­le kurz zusam­men­fas­sen möch­te. Soll­te einem mei­ner Leser noch etwas feh­len, so möge er es über die Kom­men­ta­re hin­zu­fü­gen ;-). Dan­ke schon mal.

1. Instal­la­ti­on

Den Instal­ler habe ich bei Goog­le code gefun­den: http://code.google.com/p/git-osx-installer/. Damit ist die Instal­la­ti­on ein Klacks. Auf mei­nem Sys­tem mit Mac OS 10.6 Snow Leo­pard muss­te ich aber noch einen klei­nen Hack anwen­den, damit auch tat­säch­lich die aktu­el­le Ver­si­on aus die­sem Instal­ler ver­wen­det wird. Das liegt dar­an, dass Mac OS, wie jedes ande­re UNIX auch, die PATH-Varia­ble line­ar durch­sucht und den ers­ten Tref­fer ver­wen­det. Auf mei­nem Sys­tem war es nun lei­der so, dass ich eine alte Ver­si­on von Git unter /usr/local/bin lie­gen hat­te, die neue Ver­si­on aber unter /usr/local/git/bin liegt. Ver­wen­det hat Mac OS immer die alte Ver­si­on, da die PATH-Varia­ble den Pfad zur neue­ren Git-Ver­si­on als ers­tes auf­lis­te­te.

Um das Pro­blem zu behe­ben, habe ich die Datei

/etc/profiles

edi­tiert (sudo nano /etc/profiles), die die glo­ba­le PATH-Varia­ble beinhal­tet. Bei mir sieht die ent­spre­chen­de Zei­le wie folgt aus:

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/bin:/usr/texbin:/usr/X11/bin

Somit sucht Mac OS nun zuerst nach der aktu­el­len Ver­si­on. Ande­re Mac-OS-Instal­ler von Git mögen die Bina­rys von Git woan­ders able­gen, der kor­re­spon­die­ren­de Pfad müss­te dann ent­spre­chend ange­passt wer­den.

2. Kon­fi­gu­ra­ti­on

Eine wei­ter­ge­hen­de Kon­fi­gu­ra­ti­on von Git ist eigent­lich nicht erfor­der­lich, als sinn­voll haben sich aber eini­ge Varia­blen her­aus­ge­stellt. Fol­gen­de Kom­man­dos habe ich für mei­ne Git-Kon­fi­gu­ra­ti­on ver­wen­det:

2.1 Benut­zer­kon­fi­gu­ra­ti­on

git con­fig –glo­bal user.name “Vor­na­me Nach­na­me“
git con­fig –glo­bal user.email “[email protected]

Die­se Kom­man­dos set­zen die ent­spre­chen­den Git-Ein­stel­lun­gen glo­bal für den Sys­tem­be­nut­zer. Die­se sind somit für alle Repo­sito­rys eures Sys­tem­be­nut­zers gül­tig. Abge­legt wer­den die Ein­stel­lun­gen in der Datei ~/.gitconfig. Um die Ein­stel­lun­gen spe­zi­fisch für ein Repo­sito­ry zu über­schrei­ben, könnt ihr fol­gen­de Befeh­le ver­wen­den:

git con­fig user.name “Vor­na­me Nach­na­me“
git con­fig user.email “[email protected]

Die­se Ein­stel­lun­gen wer­den in der Datei .git/config in eurem Repo­sito­ry-Ver­zeich­nis abge­legt und sind somit auch nur für das jewei­li­ge Repo­sito­ry gül­tig.

Es ist durch­aus sinn­voll, die­se Varia­blen zu set­zen, da nur so gewähr­leis­tet ist, dass eure Com­mits ein­deu­tig euch zuge­ord­net wer­den kön­nen. Die­se Ein­stel­lun­gen kön­nen im Übri­gen unab­hän­gig von even­tu­el­len Benut­zern auf eurem Git-Ser­ver gesetzt wer­den.

2.2 Kon­fi­gu­ra­ti­on der Aus­ga­be

Um die Aus­ga­ben von Git far­big zu gestal­ten, müsst ihr fol­gen­des ein­tip­pen:

git con­fig –glo­bal color.ui “auto”

Auch hier gilt wie­der, dass der Schal­ter –glo­bal die Ein­stel­lun­gen glo­bal setzt.

2.3 Wei­te­re Ein­stel­lun­gen

Um Git für die Ver­wen­dung von Mul­ti-Core-CPUs zu kon­fi­gu­rie­ren, fol­gen­den Befehl ein­ge­ben:

git con­fig –glo­bal pack.threads “0”

Um App­les open­diff für die Anzei­ge von diffs zu ver­wen­den:

git con­fig –glo­bal merge.tool open­diff
git con­fig –glo­bal merge.summary true

.DS_S­tore-Datei­en vom Repo­sito­ry aus­schlies­sen:

git con­fig –glo­bal core.excludesfile ~/.gitignore
echo “.DS_Store” »~/.gitignore

Text­ma­te als Stan­dard-Edi­tor set­zen:

git con­fig –glo­bal core.editor “mate ‑w”

2.4 Git­hub-spe­zi­fi­sche Ein­stel­lun­gen

Damit die genia­le Soci­al-Coding-Platt­form Git­Hub (https://github.com) euren Benut­zer kor­rekt erkennt, müs­sen zwei wei­te­re Ein­stel­lun­gen gesetzt wer­den:

git con­fig –glo­bal github.user
git con­fig –glo­bal github.token

Eure ent­spre­chen­den Daten fin­det ihr unter https://github.com/account.

2.5 Text­ma­te-Bund­le

Für die Text­ma­te-User unter euch gibt es im Übri­gen ein Git-Bund­le, wel­ches wie folgt instal­liert wer­den kann:

mkdir ‑p ~/Library/Application\ Support/TextMate/Bundles
cd !$
git clo­ne git://github.com/jcf/git-tmbundle Git.tmbundle
osa­script ‑e ‘tell app “Text­Ma­te” to rel­oad bund­les’

In Text­ma­te müsst ihr nun noch die Shell-Varia­ble TM_GIT erstel­len. Die­se muss (in mei­nem Fal­le) auf /usr/local/git/bin zei­gen.

Wie gesagt, soll­te irgend­wo noch etwas wich­ti­ges feh­len, lasst es mich bit­te über die Kom­men­ta­re wis­sen.

Posted via email from ulfklose’s pos­te­rous