Image Image Image Image Image
Scroll to Top

To Top

août 2015 - François Koessler

Déploiement automatisé avec Capistrano, Git et RVM

Cet article décrit la procédure de mise en place de Capistrano afin d’automatiser le déploiement d’une application Ruby on Rails 4.2.3 versionnée avec git sur un serveur utilisant RVM. Ainsi le projet Rails est développé en local sur une ou plusieurs machine, est versionné avec git et est déployé de manière automatisée sur le serveur de test / production sans avoir besoin de se connecter au serveur.

Avant de commencer, mettez à jour RVM, ruby ainsi que Rails sur votre machine locale :

A l’heure où j’écris cet article, il s’agit de ruby-2.2.1 et Rails 4.2.3

Création du projet en local

Créez un nouveau projet sur votre machine locale ou alternativement clonez un projet existant depuis github :

Créez les fichiers .ruby-version et .ruby-gemset à la racine du projet Rails qui indiquent à RVM avec quelle version de ruby et avec quel gemset vous travaillez :

Création des repository git en local et sur le serveur

Créez le repository sur le serveur :

Faites de même sur votre machine locale :

 

Mise en place de Capistrano

Capistrano s’installe sur votre machine locale à l’aide de bundler. Ajoutez les gems suivantes dans votre Gemfile :

Installez les gems :

Afin de configurer Capistrano, exécutez la commande cap install  qui va générer les fichiers de configuration Capistrano config/deploy.rb et  config/deploy/production.rb . Ceux-ci contiennent les valeurs de configuration de base. Parcourez ces fichiers et faites les modifications nécessaires, par exemple renseignez l’url du repository git utilisé pour versionner votre application. A titre d’exemple, je partage le contenu de ces fichiers tel qu’utilisés dans un de mes projets :

Avant de pouvoir déployer votre application, pensez à créer le répertoire qui contiendra les fichiers ainsi que sa base de données telle que définie dans le fichier config/database.yml sur le serveur de production.

Vous pouvez alors déployer l’application à l’aide de la commande :

Il ne vous reste plus qu’a configurer votre serveur web (Apache, Nginx) afin de servir l’application.

Installation de Gitlab sous Ubuntu avec Apache

On 27, Août 2015 | 2 Comments | In Apache, Gitlab, Ubuntu | By François Koessler

Avant toutes choses, mettre à jour les paquets Ubuntu et installer les dépendences de Gitlab :

 

Installation de Gitlab

D’après la documentation officielle, téléchargez et installez le package Gitlab Omnibus. Rendez-vous sur la page de documentation afin d’avoir le lien vers la version la plus récente de Gitlab.

Une fois le logiciel installé, éditez le fichier de configuration /etc/gitlab/gitlab.rb  et renseignez la valeur du champs external_url  avec : http://mydomain.fr:8080

Exécutez le script

D’ores et déjà, Gitlab doit fonctionner à l’url mydomain.fr avec le port 8080. Nous allons maintenant configurer Apache pour qu’il serve de proxy entre Gitlab et une url de type gitlab.mydomain.fr. Pour ce faire, nous devons activer le module proxy d’Apache :

Finalement, il nous reste à créer le VirtualHost d’Apache qui servira Gitlab. Créez un nouveau fichier /etc/apache2/sites-available/gitlab.conf et renseigner les valeurs suivantes :

Activez le VirtualHost, redémarrez Apache.

Attention, afin que Gitlab soit accessible à l’url http://gitlab.mondomaine.fr , n’oubliez pas d’activer le sous-domaine gitlab dans votre gestionnaire DNS.

Vous pouvez maintenant vous connecter avec les identifiants : root / 5iveL!fe