![]() ![]() ![]() This could live on one of the servers provisioned for the project, a Gitosis server, a Gitolite server, a GitLab server, Github or any other repository hosting solution. When working on a project with multiple environments, a good first step after server provisioning is to create a central repository from which all other environments will pull. Additionally, the Backup and Migrate module can save database exports as files within your Drupal file tree these are managed with Git like any other file.įortunately, since a Drupal site's module and theme files already live in code, you can manage those in Git without any extra tools. You may want to take advantage of these tools to export as much of your site’s configuration as possible into your repository for deployment and collaboration purposes. You can move some of these configuration settings into code using certain Drupal modules, such as Ctools exportables, the Features module or the Configuration Management module. One challenge of using any kind of change management with Drupal is that many configuration changes normally reside only in the project’s database. We will be illustrating the process by building out a Drupal site called ‘FooProject’, and will use fooproject as a placeholder anywhere a project or site name would be used. It can easily be adapted to fewer tiers, as necessary. This documentation assumes that the project will be following a basic 4-tier development environment model: developers work on most code locally, then push that code up through Development, Staging and Production environments. Further documentation will be written to show how best to integrate other tools such as Drush into this process. When applied properly and with some forethought, Git is a very powerful tool for helping to manage collaboration, configuration and code changes during the life cycle of a Drupal-based project. While there are many possible approaches to fitting Git into this process, this particular set of procedures should work in most circumstances and contains many best practices for using Git in this manner. There is no possibility of changing a vmd file without it showing up in the history for the Iguana instance.This document is intended to outline a basic process of using Git in the context of a basic site building, testing and deployment process. With a click of a button in the Iguana history you can revert to your previous good configuration. This is a game changer! If you make an error and need to rollback a change to an external vmd – no problem. Now we can go to Iguana 6 History menu and see what changed in source control!Īnd then drilling in we can see exactly what changed:.Iguana copies the updated VMD, creates a new version, and commits it into the internal GIT repository.Edit the channel to point to the updated ack.vmd file.Edit the ack.vmd file in Chameleon and add a new message. ![]() To show you the benefits lets change the ack.vmd file: No more having to keep track of your VMD versions independently of Iguana. The beauty of this is that now you never need to worry about keeping backups of old vmd file versions – every time you change a vmd file it is automatically versioned and committed into Iguana’s internal GIT repository. See how the ack.vmd is now stored in the IguanaConfigurationRepo? Iguana 6 copies VMD files into its local GIT configuration repository, this is a big improvement as it gives you all the benefits of version control for your VMD files.įor example see this screen shot of an “autoack.vmd” on a LLP listener channel: ![]() We greatly extended the scope of source control includes, not just Lua translator projects, but entire Channels, including VMD files – in fact the complete configuration of the entire Iguana instance. In Iguana 6 we completely reworked our source control by switching over from Fossil to Git. ![]()
0 Comments
Leave a Reply. |