GitLab è una soluzione veloce, sicura e stabile per gestire i tuoi progetti. È un software di gestione Git self-hosted basato su Ruby on Rails e ha una licenza gratuita e open source.
GitLab è una delle applicazioni di gestione git più installate al mondo. Con GitLab puoi creare progetti e repository, gestire l'accesso e fare la revisione del codice.
Nel seguente articolo ti mostreremo come distribuire GitLab su uno dei nostri piani di hosting Debian VPS.
Prima di procedere ulteriormente con l'installazione, apri una screen
sessione eseguendo:
screen -U -S gitlab-install
e quindi assicurati che il tuo server Debian Wheezy sia completamente aggiornato eseguendo i seguenti comandi:
apt-get update apt-get upgrade
Quindi, procedi con l'installazione di alcuni pacchetti richiesti. Fallo eseguendo:
apt-get install sudo vim dialog build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev python-docutils
Quindi, imposta vim
come editor predefinito da:
update-alternatives --set editor /usr/bin/vim.basic
una volta completato, la prossima cosa da fare è verificare di avere la versione Python corretta sul tuo Debian Wheezy VPS. La versione di Python deve essere maggiore di 2.5 e inferiore a 3.0+
apt-get install -y python python --version Python 2.7.3
ora controlla se puoi accedere alla shell python tramite 'python2':
test ! -e /usr/bin/python2 && ln -s /usr/bin/python /usr/bin/python2 python2 --version Python 2.7.3
se finora è tutto ok, allora siamo pronti per compilare e installare ruby dal sorgente, quindi procedi eseguendo i seguenti comandi:
mkdir -p /opt/ruby && cd /opt/ruby curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz cd ruby-2.0.0-p247 ./configure make make install
una volta compilato e installato ruby sul sistema, installa il bundler
ruby gem con il seguente comando:
gem install bundler --no-ri --no-rdoc
Quindi, imposta l'utente di sistema "git" e gitlab-shell per GitLab
adduser --disabled-login --gecos 'GitLab' git
cd /home/git sudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git cd gitlab-shell
sudo -u git -H git checkout v1.7.1 sudo -u git -H cp config.yml.example config.yml sudo -u git -H vim config.yml
assicurati di sostituire gitlab_url
con l'URL desiderato
sudo -u git -H ./bin/install
Il prossimo passo è configurare il server del database MySQL:
apt-get install mysql-server mysql-client libmysqlclient-dev
inserisci la password di "root" MySQL desiderata quando richiesto
mysql -u root -p mysql> CREATE DATABASE IF NOT EXISTS `gitlabDB` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; mysql> GRANT ALL ON `gitlabDB`.* TO 'gitlab'@'localhost' identified by '<YOUR_DB_PASS>'; mysql> \q
Una volta creato il database che verrà utilizzato dall'applicazione GitLab, procedere con l'installazione di GitLab:
cd /home/git sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab cd /home/git/gitlab sudo -u git -H git checkout 6-0-stable cd /home/git/gitlab sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml sudo -u git -H vim config/gitlab.yml
cambia l'host
variabile all'URL desiderato
quindi, imposta alcune autorizzazioni di directory necessarie:
chown -R git log/ chown -R git tmp/ chmod -R u+rwX log/ chmod -R u+rwX tmp/ sudo -u git -H mkdir /home/git/gitlab-satellites sudo -u git -H mkdir tmp/pids/ sudo -u git -H mkdir tmp/sockets/ chmod -R u+rwX tmp/pids/ chmod -R u+rwX tmp/sockets/ sudo -u git -H mkdir public/uploads chmod -R u+rwX public/uploads
e procedi con la configurazione di unicorn
Server HTTP:
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb sudo -u git -H vim config/unicorn.rb
assicurati di sintonizzare unicorn
per soddisfare le tue esigenze. fai attenzione a quante risorse allochi e hai effettivamente. puoi sempre iniziare con qualcosa come worker_processes 1
e timeout 120
infine, esegui la seguente configurazione git:
sudo -u git -H git config --global user.name "GitLab" sudo -u git -H git config --global user.email "gitlab@<YOUR_URL>" sudo -u git -H git config --global core.autocrlf input
la prossima cosa da fare è configurare la connessione al database. Fallo eseguendo i seguenti comandi:
sudo -u git cp config/database.yml.mysql config/database.yml sudo -u git -H vim config/database.yml
assicurati di modificare quanto segue in production
sezione:
database: gitlabDB username: gitlab password: "<YOUR_DB_PASS>"
sudo -u git -H chmod o-rwx config/database.yml
installa alcune altre gemme di rubino richieste:
cd /home/git/gitlab gem install charlock_holmes --version '0.6.9.4' sudo -u git -H bundle install --deployment --without development test postgres aws
inizializzare il database
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
assicurati di digitare "sì" quando richiesto
procedi con la configurazione dello script di inizializzazione di gitlab
cp lib/support/init.d/gitlab /etc/init.d/gitlab chmod +x /etc/init.d/gitlab update-rc.d gitlab defaults 21
quindi controlla lo stato dell'applicazione gitlab e avvia l'applicazione eseguendo:
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production service gitlab start
Il passaggio finale è installare e configurare Nginx davanti a GitLab:
apt-get install nginx rm -f /etc/nginx/sites-enabled/default cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
vim /etc/nginx/sites-available/gitlab
assicurati di cambiare server_name YOUR_SERVER_FQDN
a server_name <YOUR_URL>
infine, riavvia nginx eseguendo:
service nginx restart
vai a http://
login………[email protected]
password……5iveL!fe
PS Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.