GitLab est une solution rapide, sécurisée et stable pour gérer vos projets. Il s'agit d'un logiciel de gestion Git auto-hébergé basé sur Ruby on Rails et doté d'une licence gratuite et open-source.
GitLab est l'une des applications de gestion git les plus installées au monde. Avec GitLab, vous pouvez créer des projets et des référentiels, gérer l'accès et réviser le code.
Dans l'article suivant, nous allons vous montrer comment vous pouvez déployer GitLab sur l'un de nos plans d'hébergement Debian VPS.
Avant de poursuivre l'installation, lancez un screen
session en exécutant :
screen -U -S gitlab-install
puis assurez-vous que votre serveur Debian Wheezy est entièrement à jour en exécutant les commandes suivantes :
apt-get update apt-get upgrade
Ensuite, procédez à l'installation de certains packages requis. Pour ce faire, exécutez :
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
Ensuite, configurez vim
comme éditeur par défaut par :
update-alternatives --set editor /usr/bin/vim.basic
une fois cela terminé, la prochaine chose à faire est de vérifier que vous avez la bonne version de python sur votre Debian Wheezy VPS. La version Python doit être supérieure à 2.5 et inférieure à 3.0+
apt-get install -y python python --version Python 2.7.3
vérifiez maintenant si vous pouvez accéder au shell python via 'python2' :
test ! -e /usr/bin/python2 && ln -s /usr/bin/python /usr/bin/python2 python2 --version Python 2.7.3
si tout va bien jusqu'à présent, alors nous sommes prêts à compiler et installer ruby à partir des sources, alors continuez en exécutant les commandes suivantes :
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
une fois que ruby est compilé et installé sur le système, installez le bundler
ruby gem avec la commande suivante :
gem install bundler --no-ri --no-rdoc
Ensuite, configurez l'utilisateur système "git" et le shell gitlab pour 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
assurez-vous de remplacer gitlab_url
avec l'URL souhaitée
sudo -u git -H ./bin/install
L'étape suivante consiste à configurer votre serveur de base de données MySQL :
apt-get install mysql-server mysql-client libmysqlclient-dev
entrez votre mot de passe "root" MySQL souhaité lorsque vous y êtes invité
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
Une fois que vous avez créé la base de données qui sera utilisée par l'application GitLab, procédez à l'installation de 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
modifier l'host
variable à l'URL souhaitée
ensuite, configurez certaines autorisations de répertoire nécessaires :
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
et procédez à la configuration de la unicorn
Serveur HTTP :
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb sudo -u git -H vim config/unicorn.rb
assurez-vous d'accorder unicorn
pour répondre à vos besoins. faites attention à la quantité de ressources que vous allouez et dont vous disposez réellement. vous pouvez toujours commencer par quelque chose comme worker_processes 1
et timeout 120
enfin, effectuez la configuration git suivante :
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 prochaine chose à faire est de configurer la connexion à la base de données. Pour ce faire, exécutez les commandes suivantes :
sudo -u git cp config/database.yml.mysql config/database.yml sudo -u git -H vim config/database.yml
assurez-vous de modifier les éléments suivants sous le production
rubrique :
database: gitlabDB username: gitlab password: "<YOUR_DB_PASS>"
sudo -u git -H chmod o-rwx config/database.yml
installez d'autres gemmes ruby requises :
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
initialiser la base de données
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
assurez-vous de taper "oui" lorsque vous y êtes invité
procéder à la configuration du script d'initialisation de gitlab
cp lib/support/init.d/gitlab /etc/init.d/gitlab chmod +x /etc/init.d/gitlab update-rc.d gitlab defaults 21
puis vérifiez l'état de l'application gitlab et démarrez l'application en exécutant :
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production service gitlab start
La dernière étape consiste à installer et à configurer Nginx devant 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
assurez-vous de changer server_name YOUR_SERVER_FQDN
à server_name <YOUR_URL>
enfin, redémarrez nginx en exécutant :
service nginx restart
accédez à http://
login………[email protected]
mot de passe……5iveL!fe
PS Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.