Déploiement pour la mise en scène et la production [clôturé]

8

Je dois faciliter le déploiement entre mes serveurs de transfert et de production.

Comment puis-je faire ceci? J'ai besoin de déployer toutes les modifications, donc si je tire de Github et exécute le script, les modifications sont appliquées!

Quelqu'un a-t-il écrit un script ou un module pour cela?

J'utilise Drupal 7.

Abuzer Firdousi
la source

Réponses:

9

Vous devriez vous pencher sur le drush , le drush deploy et surtout les fonctionnalités . Toutes les options de configuration Drupal ne sont pas prises en charge par les fonctionnalités, et vous devrez faire un certain travail pour créer un processus de déploiement qui fonctionne pour vous. Il n'y a pas de script unique qui fera tout correctement pour vous.

greg_1_anderson
la source
J'aimerais pouvoir voter deux fois. :-) J'ajouterai qu'avec drush vous pouvez créer un makefile pour votre site. drupal.org/project/drush_make
paul-m
1
Merci. nb drush_make est inclus dans Drush core version 7.x-5.x; si vous utilisez toujours Drush 4, ce serait une bonne idée de mettre à jour. En outre, vous pouvez générer un Makefile Drush à partir d'un site Drupal existant via drush generate-make. Il existe une commande de travail en cours pour créer un profil d'installation à partir d'un site Drupal existant à drupal.org/node/1368242 .
greg_1_anderson
3

Vous pourriez être intéressé par le tissu

Fabric est une bibliothèque Python et un outil en ligne de commande pour rationaliser l'utilisation de SSH pour le déploiement d'applications ou les tâches d'administration de systèmes.

Il fournit une suite d'opérations de base pour exécuter des commandes shell locales ou distantes (normalement ou via sudo) et télécharger / télécharger des fichiers, ainsi que des fonctionnalités auxiliaires telles que l'invitation de l'utilisateur en cours de saisie ou l'interruption de l'exécution.

Vous pouvez également être intéressé par drush pour l'accès en ligne de commande à Drupal.

par exemple, certaines commandes drush pertinentes:

archive-dump    Backup your code, files, and database into a single file.                                                                                                                                                                       
archive-restore Expand a site archive into a Drupal web site. 
core-rsync (rsync)    Rsync the Drupal tree to/from another server using ssh.

ou les deux :)

David Thomas
la source
puis-je faire avec un script, pour effectuer tous les changements
Abuzer Firdousi
Oui, vous pouvez scénariser le tout afin qu'il soit automatique.
David Thomas
3

Il y a Beanstalk

Outils de déploiement avancés Déployez vos référentiels sur (S) FTP, SSH et Amazon S3 en un seul clic.

Et il y a les crochets post-réception de GitHub .

GitHub POSTERA à une URL fournie lorsque quelqu'un pousse vers le référentiel. Il suffit d'écrire un court script PHP à exécuter sur votre VPS linode et de le retirer de GitHub lorsqu'il reçoit ledit POST.

niksmac
la source
3

Bien que la question soit un an avant, je suggère d'utiliser ces 3 outils.

Git + Capistrano + Drush .

Cela fonctionne juste pour ce genre de tâches.

Voici quelques joyaux / fichiers Capistrano liés à Drupal pour vous aider à automatiser le développement Drupal:

Et voici quelques ressources utiles pour que vous n'ayez pas à chercher sur le Web:

TheodorosPloumis
la source
2

Ce sont mes conclusions. Drush fournit la synchronisation, en utilisant le vidage et la restauration mysql comme terminés, et non les modifications apportées après un certain intervalle.

Beaucoup de choses peuvent être suivies avec - Module de configuration - Fonctionnalités - Fonctionnalités supplémentaires

Veuillez consulter la présentation pour plus d'informations. https://docs.google.com/file/d/0B6Sp-HBmxgGMMnhhQXVrR1hDUVU/edit?usp=sharing

Abuzer Firdousi
la source
Bonjour et bienvenue dans Drupal Answers. Pouvez-vous étendre votre réponse avec un résumé de ce qui a été rapporté dans la page liée. Sur Stack Exchange, les réponses contenant simplement un lien ne sont pas considérées comme des réponses.
kiamlaluno