Comment utiliser les modules «drush make» avec un code de module local?

9

J'ai appris à aimer le workflow «drush make» qui nous donne. Je suis sûr qu'il y en a d'autres qui voudraient que leur code de développement soit placé dans un fichier make sans qu'il soit prêt pour drupal.org, par exemple, en déployant rapidement une nouvelle instance de test de développement du site avec un script bash ou à partir de ce que je ont vu à Aegir.

Il semble que le flux de travail actuel qui pourrait convenir serait d'utiliser un référentiel git de votre code de développement. Cependant, ma machine de développement est Windows 7, et je voudrais utiliser "drush make" dans une boîte virtuelle avec une instance de serveur Ubuntu.

lutin
la source

Réponses:

10

Vous pouvez configurer des domaines locaux et des référentiels git locaux ou des tarballs comme ceci:

projects[my_module][type] = "module"
projects[my_module][download][type] = "file"
projects[my_module][download][url] = "http://localhost/my_module.tgz"
projects[my_module][subdir] = "contrib"

Ensuite, dans votre script de construction, vous pouvez simplement recréer le tgz

stevepurkiss
la source
Merci beaucoup qui doit être la même chose que celle des modules d.org, est logique. Je pense que je vais m'entraîner de la manière git, juste j'essaye de le faire en utilisant un vm linux sur une machine Windows.
imp
10

Drush make prend également en charge le protocole file: ///

projects[my_proj][type] = "module"
projects[my_proj][subdir] = "custom"
projects[my_proj][download][type] = "git"
projects[my_proj][download][url] = "file:///path/to/my_proj.git"
projects[my_proj][branch] = "dev"

Utilisez sshfs pour monter le référentiel dans virtualbox. Guide ici - https://help.ubuntu.com/community/SSHFS

lutin
la source
1

Vous pouvez installer make_local , qui étend les drush makecapacités aux modules source des arborescences de répertoires. Utilisez-le comme ceci:

projects[my_proj][type] = "module"
projects[my_proj][subdir] = "custom"
projects[my_proj][download][type] = "local"
projects[my_proj][download][source] = "../relative/path/to/my_proj_dir"

Avantages par rapport à "normal" drush make: (1) Contrairement aux file://URL, vous pouvez utiliser des chemins relatifs. (2) Vous n'avez pas besoin de packager votre module dans un .tar.gzpréalable, ni de le source depuis un répertoire git repo. Un répertoire normal suffit.

Le répertoire avec le module pourrait être un dépôt git bien sûr, mais ce n'est pas obligatoire. (Dans votre cas, un répertoire de système d'exploitation hôte Windows 7 accessible via les répertoires partagés de VirtualBox ferait l'affaire. Pas besoin d'installer gità l'intérieur de la machine virtuelle.)

tanius
la source
0

dans le cas où vous drush-faites une distribution à partir d'un site gitweb via build makefile, prenez soin de citer l'url car elle contient des points-virgules, ma question à ce sujet était ici sur drush make sur gitweb local url raw

groovehunter
la source
Merci! (Je pense que ce serait mieux en tant que commentaire pour l'une des réponses ci-dessus.)
tanius