Setelah berjuang diberbagai tempat untuk menginstall git server sendiri akhirnya saya pun menyerah (problem is kebanyakan tutorial tidak menggunakan fedora yang saya gunakan pada VPS saya). Akhirnya pilihan berikutnya tertuju pada GitLab dan CentOS sebagai OS untuk servernya. Alasannya adalah karena contoh yang bekerja bagus dengan resource storage yang minimal adalah dengan menggunakan CentOS minimal.

 

Git

Git diciptakan oleh Linus Torvalds. Si Linus ini menurut saya merupakan salah satu pahlawan di dunia komputer dengan Linux nya dan sekarang dengan Git nya, dan semua itu gratis.

Git sendiri merupakan salah satu Sistem Version Control yang sekarang sudah menyingkirkan Subversion (SVN) yang sudah lebih dulu ada di Sistem Versioning Control. Saya sendiri pernah menggunakan SVN ketika masih menggunakan spanel dari MWN (which is pain in the ass) dan ketika membandingkan dengan menggunakan github, SVN sesungguhnya benar-benar tidak menarik. :-)

GitLab

GitLab diperkenalkan pertama kali tahun 2011 dan semakin populer sejak versi CE (Comunity Edition) diluncurkan secara gratis dan menjadi pilihan banyak orang karena dianggap paling mendekati github dan bisa private. Secara ringkas, GitLab tak ubahnya seperti wamp server di windows dimana paket-paket instalasi sudah menjadi satu, sehingga cukum jalankan instalasi GitLab maka semua aplikasi yang diperlukan dan konfigurasi yang diinginkan sudah terinstall di server anda. Installer ini disebut juga dengan Omnibus Installer Packages.

GitLab berbasis rails sehingga beberapa dependency rails harus dipenuhi sebelum melakukan installasi. Untuk webserver yang digunakan adalah nginx sementara itu untuk jenis database yang digunakan adalah postgresql. Processing pada GitLab terasa lebih cepat karena didukung oleh library sidekiq rails. 

Prainstalasi

Sebelum anda melakukan install GitLab berikut beberapa kondisi yang saya gunakan dala instalasi GitLab.

  1. OS yang digunakan adalah CentOS 7 dimana kondisi instalasi adalah fresh install dan belum dilakukan instalasi webserver apapun
  2. Diperlukan aplikasi Postfix dan OpenSSH sebagai kebutuhan minimum instalasi GitLab. Jadi pastikan sudah "yum install postfix openssh-server" dulu ya
  3. Add service http (atau https jika anda akan menggunaka ssl sertificate) pada firewall anda. "firewall-cmd --permanent --add-service=http"
  4. GitLab tidak mensyaratkan spesifikasi storage tertentu, yang penting cukup untuk OS, gitlab, email server, dan tentunya kebutuhan aplikasi anda nantinya
  5. GitLab merekomendasikan penggunaan 2 cores CPU untuk pengguna kurang dari 500 users (walaupun 1 cores untuk pengguna yang dibawah 10 orang sudah sangat lumayan menurut percobaan saya)
  6. GitLab mensyaratkan paling tidak 1GB swap memory dan 2GB RAM untuk penggunaan kurang dari 100 users. Penggunaan 512MB Ram sangat tidak disarankan (server saya kebetulan menggunakan 2GB RAM harga 200ribuan :-) )

Lebih lengkapnya dapat anda lihat di sini

Instalasi

Untuk melakukan instalasi sebenarnya tinggal klik RPM omnibus installer yang bisa anda peroleh dari https://about.gitlab.com/downloads/ namun jika server anda hanya hitam putih (aka GUIless) maka untuk melakukan instalasi dapat dilakukan seperti dibawah ini.

curl -O https://downloads-packages.s3.amazonaws.com/centos-7.1.1503/gitlab-ce-7.10.4~omnibus-1.x86_64.rpm
rpm -iv gitlab-7.8.4_omnibus.1-1.el7.x86_64.rpm

Kemudian omnibus installer akan berjalan dan melakukan instalasi GitLab beserta dependencies nya. Anda hanya perlu menunggu proses instalasi selesai dan siap melakukan konfigurasi GitLab.

Konfigurasi

Semua konfigurasi awal dapat anda lihat di /etc/gitlab/gitlab.rb . Pada setting awal ini saya hanya mengubah external url access menggunakan ddns.net agar dapat mudah mengakses GitLab, dan disable signup. Anda juga dapat menggunakan domain sendiri, dan jangan lupa setting domainnya di arahkan pada IP publik server anda. Berikut command yang dijalankan untuk mengkonfigurasi GitLab.

sudo nano gitlab /etc/gitlab/gitlab.rb           // disini anda bebas menggunakan editor baik itu vim atau lainnya, disini saya menggunakan nano
gitlab-ctl reconfigure gitlab-ctl start

Konfigurasi lebih lengkap dapat dilihat di contoh dokumen gitlab.rb, anda cukup uncomment fungsi yang anda gunakan. Atau juga dapat dengan melihat contoh di https://gitlab.com/gitlab-org/omnibus-gitlab/blob/7-8-stable/files/gitlab-config-template/gitlab.rb.template

Berikutnya anda dapat login di GitLab anda. Jika anda menggunakan CentOS dengan GUI maka cukup buka browser dan masuk ke localhost maka anda akan login otomatis sebagai administrator. Namun jika diakses dari luar maka default un/pw adalah "root/5iveL!fe".

 

Baiklah itu tadi langkah-langkan melakukan instalasi GitLab pada CentOS7, semoga membantu dan happy coding kawan \0_0/


Sumber:

http://www.codero.com/knowledge-base/questions/367/

https://tifosilinux.wordpress.com/2015/04/04/my-gitlab-guide/

https://about.gitlab.com/