pimcore doc – Déploiement à l’aide de Capistrano
Guide d’installation et de mise à niveau | Développer avec Pimcore | Guide de l’administrateur | Guide de l’utilisateur | Extensions | Développer pour Pimcore | F.A.Q |Archive
[Cette page est une traduction de la documentation de Pimcore : http://www.pimcore.org/wiki/display/PIMCORE/Deployment+using+Capistrano]
Il s’agit d’un tutoriel pour déployer pimcore en utilisant capistrano.
Ce tutoriel est écrit par un membre de la communauté, et non par l’équipe de base.
Capistrano
Capistrano est un des outils de déploiement les plus populaire. S’il vous plaît jeter un coup d’oeil sur le Wiki de Capistrano pour plus de détails.
Capistrano vous permet de télécharger et de mettre à jour vos projets sur votre infrastructure. Capistrano est hautement personnalisable.
Pourquoi Capistrano?
– Capistrano vous permet de revenir en arrière.
– Capistrano assure de n’avoir aucun temps d’arrêt.
– Vous pouvez déployer plusieurs serveurs.
– Vous pouvez automatiser des tâches telles que des sauvegardes du disque en cours d’utilisation ou un autre.
Il y a beaucoup de façons différentes de faire les choses, nous allons commencer avec un déploiement facile – pour la plupart des gens c’est l’idéal.
Déploiement à l’aide d’un dossier partagé
Notre défi consiste à déployer une installation pimcore normale, et ce qui est en arrière-plan reste fonctionnel. Assets(éléments), Versions, … sont partagés entre tous les déploiements, de sorte que vous ne perdez aucune donnée.
0. Installez Capistano sur votre système local
sudo apt-get install ruby sudo gem install capistrano
1. Préparation du serveur
Nous commençons par un Ubuntu 12.04 vide avec apache2 et mysql. Bien sûr, vous pouvez utiliser une autre configuration plus tard.
1.2 Nous devons préparer la structure des dossiers pour le projet sur le serveur
cd /var/www mkdir demodeploy sudo chmod -R 777 demodeploy cd demodeploy mkdir releases mkdir shared
# Note: nous utilisons simplement un chmod à 777 pour la démo, s’il vous plaît assurez-vous que vous utilisez des restrictions d’accès / utilisateurs correctes.
A chaque déclenchement de capistrano, un nouveau dossier est créé en utilisant le timestamp du moment, et cela, dans le répertoire dans lequel on se trouve. Les données sont dans un dossier partagé, c’est un partage entre tous les déploiements. Comme les assets (éléments), les uploads d’utilisateurs, …
2. Maintenant, nous devons préparer notre installation Pimcore.
– Aller dans le dossier website et de créer le fichier « Capfile » avec ce contenu:
– Modifier votre dossier /website/var/config et créer le sous-dossier deploy/capistrano. J’ai préparé un montage facile, il suffit de cloner / copier les fichiers https://github.com/timglabisch/pimcore_capistrano dans le dossier.
3. Modification de la configuration
– Maintenant, ouvrer le fichier /var/www/demodeploy/website/var/config/deploy/capistrano/deploy.rb
– L’exemple est livré avec deux environnements différents (stage, production). Pour le moment, nous ne voulons nous pencher que sur ces deux là et rien d’autre.
– Changer
set :application, "pimcore_project"
en
set :application, "dempdeploy"
– Changer
set :user, "ubuntu" # set :password, "********" # please use ssh public <-> private key auth
en
set :user, "[YOUR USER]" set :password, "[YOUR PASSWORD]" # please use ssh public <-> private key auth
– Remarque: vous devez utiliser une clé d’authentification privée / publique.
4. Déployer la première fois
– Modifier votre dossier website
– Lancer le déploiement de stage et espérer d’obtenir quelque chose comme ça :
cap staging deploy * 2013-02-11 20:50:00 executing `staging' ###################################################################### # # Capistrano -> Staging # # ###################################################################### * 2013-02-11 20:50:00 executing `deploy' * 2013-02-11 20:50:00 executing `deploy:update' ** transaction: start * 2013-02-11 20:50:00 executing `deploy:update_code' * getting (via export) revision to /tmp/20130211195000 executing locally: cp -R . /tmp/20130211195000 command finished in 10825ms // ................................................................................. servers: ["192.168.0.60"] [192.168.0.60] executing command command finished in 24ms ** transaction: commit triggering after callbacks for `deploy:update' * 2013-02-11 20:50:56 executing `deploy:cleanup' * executing "ls -xt /var/www/demodeploy/releases" servers: ["192.168.0.60"] [192.168.0.60] executing command command finished in 155ms *** no old releases to clean up * 2013-02-11 20:50:56 executing `deploy:restart'
5. Installer le système
Maintenant vous pouvez installer le système et mettre à jour le code statique à l’aide de capistrano. Assurez-vous que vos les liens symboliques sont toujours en place, que ce qui est en arrière-plan est toujours fonctionnel et que vous ne perdez aucune de données.
6. Différentes configurations
vous pouvez utiliser les différents dossiers de configuration pour les différents environnements.
Cet exemple va supprimer le répertoire website/var/config et le remplacer par /website/var/config_stage.
set :pimcore_conf_dir, "config_stage"
Regarder ici pour plus de détail.
7. Utilisation de Jenkins afin de lancer Capistrano
Si vous voulez améliorer ce déploiement, vous devriez jeter un oeil à Jenkins.
Il est vraiment facile de créer un « pipeline de construction« . L’approche classique est d’utiliser jenkins pour compiler le logiciel (compilation de sass, déplacer des fichiers …) et la gestion capistrano (en tant que tâche en jenkins) pour déployer le resultat.