Αυτό το σεμινάριο θα σας δείξει πώς να ρυθμίζετε εύκολα και άνετα τα αποθετήρια git με το Gitolite στο Debian Wheezy. Για την πορεία αυτού του σεμιναρίου, θα υποθέσουμε ότι εργάζεστε με δικαιώματα διαχειριστή. Εάν θέλετε να το χρησιμοποιήσετε sudo
, προσθέστε το όπου χρειάζεται.
Αρχικά, συνδεθείτε μέσω SSH και βεβαιωθείτε ότι τα πακέτα σας είναι ενημερωμένα και ότι πληρούνται οι εξαρτήσεις:
apt-get update && apt-get upgrade && apt-get install git perl
Το Gitolite εξαρτάται από έναν αποκλειστικό χρήστη για οτιδήποτε σχετίζεται με το git, καθώς λειτουργεί ως περιτύλιγμα γύρω του. Μπορείτε να το ονομάσετε όπως θέλετε. Θα πάμε με git
εδώ:
useradd -m git
passwd git
Βεβαιωθείτε ότι το δικό σας δημόσιο κλειδί SSH έχει αντιγραφεί στον διακομιστή εκδίδοντας την ακόλουθη εντολή από τον υπολογιστή-πελάτη σας:
scp yourkey.pub [email protected]:˜/yourname.pub
Αυτό λειτουργεί μόνο για σταθμούς εργασίας Linux ή BSD. Για Windows και OS X, συμβουλευτείτε την τεκμηρίωση του λειτουργικού σας συστήματος. Εάν δεν διαθέτετε κλειδιά SSH αυτήν τη στιγμή, δείτε αυτό το έγγραφο Vultr σχετικά με τον τρόπο δημιουργίας τους.
Το επόμενο βήμα είναι σημαντικό. Βεβαιωθείτε ότι το ˜/.ssh/authorized_keys
αρχείο σας είναι κενό.
Κάντε λήψη και εγκατάσταση Gitolite
απευθείας από το Github, καθώς η έκδοση στο αποθετήριο του Debian είναι ξεπερασμένη:
su git
cd
git clone git://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
Κάντε τον εαυτό σας διαχειριστή χρήστη:
bin/gitolite setup -pk yourname.pub
Η εγκατάσταση ολοκληρώθηκε. Στη συνέχεια, πρέπει να προσθέσετε χρήστες και αποθετήρια. Σε αντίθεση με την "κανονική" διαχείριση συστημάτων, το Gitolite βασίζεται σε ένα ειδικό αποθετήριο για τη διαχείριση χρηστών και αποθετηρίων, που ονομάζεται gitolite-admin
.
Κλωνοποίηση gitolite-admin
στον πελάτη σας :
git clone [email protected]:gitolite-admin
Εάν είστε cd
σε gitolite-admin
, θα πρέπει τώρα να δείτε δύο καταλόγους:
Ο κατάλογος keydir
αποθηκεύει τα δημόσια κλειδιά των χρηστών, επομένως, εάν θέλετε να προσθέσετε έναν χρήστη που ονομάζεται user1
, θα τοποθετούσατε το δημόσιο κλειδί του στο keydir
και θα τον ονομάζατε user1.pub
.
Η προσθήκη νέων αποθετηρίων γίνεται στο αρχείο conf/gitolite.conf
. Για να δώσετε user1
πρόσβαση ανάγνωσης και εγγραφής στο αποθετήριο Testing
(το οποίο είναι ήδη εκεί από προεπιλογή) θα πρέπει να το αλλάξετε στα εξής:
repo testing
5 RW+ = user1
Για να ισχύσουν αυτές οι αλλαγές, πρέπει να ωθήσετε τις αλλαγές στο αποθετήριο:
git add conf
git add keydir
git commit -m "user1 - testing"
git push
Αυτά είναι τα πάντα - επαναλάβετε τη διαδικασία για κάθε νέο χρήστη / αποθετήριο. Καλή κωδικοποίηση!