- Gitolite meng-host repositori Git di server pusat dan memungkinkan penerapan kontrol akses yang terperinci untuk tiap repositori
- Saat dipasang melalui manajer paket, nama yang umum digunakan adalah
gitolite3, dan kode sumber tersedia di Codeberg dan GitHub - Jika sudah terbiasa dengan Unix dan SSH, Anda bisa mengikuti dokumentasi instalasi cepat; jika membutuhkan panduan langkah demi langkah, ikuti alur dokumentasi lengkap atau panduan instalasi anti-kesalahan
- Kesalahan instalasi·konfigurasi dan kehilangan kunci dibahas dalam dokumen emergencies, sementara masalah keamanan harus dilaporkan langsung via email dan dukungan umum menggunakan mailing list
- Perangkat lunak ini didistribusikan dengan GPL v2, dan dokumentasi yang dikelola terpisah pada prinsipnya menggunakan Creative Commons BY-NC-SA 3.0
Dokumen instalasi dan operasional
- Gitolite menyiapkan repositori Git di server pusat dan memungkinkan penerapan kontrol akses yang terperinci
- Sebagai repositori sumber alternatif, GitHub juga bisa digunakan
- Nama paket di manajer paket umumnya adalah
gitolite3
- Jika Anda terbiasa dengan Unix dan SSH, Anda dapat merujuk ke instalasi cepat
- Jika membutuhkan bantuan langkah demi langkah, ikuti panduan instalasi anti-kesalahan apa adanya, dan setelah instalasi gunakan contoh di cookbook untuk tugas umum
- emergencies membahas masalah instalasi·konfigurasi, pemulihan kunci yang hilang, kesalahan umum maupun langka, serta konfigurasi nonstandar yang berpotensi menimbulkan masalah
Kanal dukungan dan lisensi
- Masalah keamanan dilaporkan langsung ke
sitaramc@gmail.com - Untuk dukungan umum dan diskusi, gunakan mailing list Google Groups
- Email pertama dari anggota baru akan ditahan sampai disetujui, tetapi email lanjutan dari alamat yang sama tidak akan ditahan
- Tersedia juga mailing list terpisah dengan frekuensi rendah dan satu arah untuk pengumuman rilis dan keamanan
- Dukungan IRC tersedia di kanal
#gitolitedi libera.chat, dan di kanal Git#gitjuga ada pengguna yang akrab dengan Gitolite - Perangkat lunak Gitolite didistribusikan dengan GPL v2
- Untuk dokumentasi, pada prinsipnya berlaku Creative Commons BY-NC-SA 3.0, tetapi bagian kontribusi eksternal dapat memiliki lisensi terpisah yang dicantumkan di masing-masing file
- Contoh kode dalam dokumentasi dan komentar terkait dapat dianggap sebagai GPL v2 jika dinilai tidak termasuk penggunaan wajar
- GIT adalah merek dagang milik Software Freedom Conservancy, dan nama Gitolite digunakan sesuai lisensi
1 komentar
Pendapat Lobste.rs
Pada 2013, di University of Cambridge pernah dibangun server Git berbasis gitolite dan gitweb. Dipilih karena tampaknya butuh waktu administrasi jauh lebih sedikit dibanding GitLab atau Gitorious pada masa awal, dan pada praktiknya memang sebagian besar begitu
gitolite punya struktur unik yang menjalankan perintah lewat SSH dan mengelola hak akses dengan file konfigurasi yang rinci, jadi tidak ada konsol administrasi web dan ada hambatan awal untuk memakainya. Sudah dibuat panduan pengantar, tetapi tetap hanya cocok untuk pengguna yang percaya diri secara teknis
Karena sama sekali tidak ada personel yang dialokasikan untuk layanan Git, layanan sementara ini dibuat di waktu pribadi untuk membuktikan adanya kebutuhan dan mendapatkan anggaran. Sulit menerima kondisi di mana perubahan lokal terhadap open source disimpan di SVN, atau repositori Git diletakkan di home directory yang tidak bisa ditemukan siapa pun. Dukungan software engineering tidak memadai dibanding kebutuhan scientific programming di universitas, dan layanan TI pusat seharusnya mendukung pendidikan serta riset di seluruh universitas, bukan hanya penggunaan internal
Dengan memanfaatkan fitur delegasi pengelolaan pengguna, hampir seluruh pengelolaan akun dan dukungan diserahkan kepada para ahli di masing-masing kelompok riset atau jurusan. Justru karena alat ini cukup sulit, terkumpullah para early adopter yang memang ahli seperti yang diharapkan; jumlah pengguna cukup banyak, tetapi permintaan dukungan hampir tidak ada. Proyek yang melibatkan banyak universitas juga bisa didukung tanpa membatasi akses hanya untuk anggota Cambridge
Salah perhitungan terbesar adalah tidak menyangka layanan sementara ini akan bertahan selama sekitar 8 tahun, dan kemudian akhirnya digantikan oleh GitLab yang dikelola staf khusus. Pekerjaan yang paling banyak memakan waktu adalah peningkatan resiliensi, dan arsitektur untuk mereplikasi repositori Git ke situs lain secara nyaris real-time kemungkinan jauh lebih rumit dari yang sebenarnya diperlukan
Kebetulan saat itu Microsoft mengakuisisi GitHub dan orang-orang mulai memprediksi kemunduran GitHub untuk pertama kalinya; menarik melihat sejarah seperti terulang. GitLab menawarkan lisensi dengan syarat yang sangat menguntungkan, dan juga ada kebutuhan demo internal untuk menerapkan Kubernetes dan infrastructure as code pada layanan cloud. Sekarang saya sudah tidak lagi di universitas itu, tetapi GitLab masih berjalan di https://gitlab.developers.cam.ac.uk/
Beberapa tahun kemudian tidak ada lagi orang yang bisa mengelolanya, dan ketika GitHub menjadi sangat populer, para pengguna pindah dari layanan internal kampus ke hosting eksternal. Saya kira proyek ini sudah hilang, jadi senang melihat bahwa sampai sekarang masih terus dipelihara
Dengan access control list yang rinci di gitolite, kita bisa mengizinkan kunci tertentu hanya untuk clone dan memblokir push, atau mengizinkan push tetapi melarang force push. Ringan dan praktis; kalau sekarang, saya rasa saya akan mencoba https://github.com/djmdjm/gitlimit
Untuk proyek pribadi, Fossil juga cocok. Ada web server bawaan dalam biner kecil sehingga mudah dijalankan sebagai layanan, dan bila perlu juga bisa dihubungkan dengan repositori Git upstream
Di NRAO, gitolite juga pernah dipakai sebagai solusi sementara selama beberapa waktu. Saat itu alat yang didukung secara resmi adalah Subversion, tetapi kepala kelompok memasangnya untuk pengguna internal yang menginginkan Git. Fiturnya tidak banyak, tetapi cukup bagus untuk menangani hal-hal yang memang dibutuhkan
Saat ini ada instalasi GitLab yang digunakan oleh seluruh observatorium, dan mungkin saja nanti pindah ke GitHub atau GitLab, tetapi saya tidak tahu keputusan akhirnya. Banyak waktu dihabiskan untuk mengutak-atik sistem continuous integration·deployment, dan saya tidak terpikir cara mendukung hal itu dengan gitolite atau menerapkan alur kerja pull/merge request. Namun, bisa jadi manfaat fitur-fitur semacam itu memang dibesar-besarkan
Saya memakai fugit(https://github.com/cbdevnet/fugit), yang dibuat dengan tujuan kesederhanaan ekstrem, dan mengelola file konfigurasinya dengan modul Nix. Sederhana dan efektif, sedangkan gitolite selalu terasa agak merepotkan untuk digunakan