While developing or maintaining a Drupal application, you might need to add Drupal contributed modules. If your application is hosted on Cloud Platform, the module directories are part of the code repository, which is not directly writable. Therefore, you cannot add a module by using the Update Manager, drush dl
, or SFTP. However, you can commit your changes using a version control system (Git).
There are several different approaches you can take. This topic describes two of them:
- Add the module to your local code base, and then commit it
- Install the module on a Cloud Platform environment using Live Development, and then commit it
Adding the module locally
To add a module to your local code base, and then commit it:
- Get SSH access to your Cloud Platform infrastructure, if you don’t already have it.
- Install Git locally, if you haven’t already done so.
- Check out a local copy of the code repository.
- Change directory into the new local copy of the repository.
Create a feature branch to test the module. In this example, we’ll assume that we’re installing the Foo module, so we’ll call the feature branch
foo
.git checkout -b foo
Change directory into the modules directory of your Drupal version:
Drupal version Module directory location Drupal 7 /sites/all/modules
or/sites/all/modules/contrib
Current Drupal version /modules
or/modules/contrib
Download and add the contributed module to the modules directory in the feature branch. For example:
curl http://ftp.drupal.org/files/projects/foo.tar.gz | tar fz
- Commit the new module code into the Cloud Platform repository.
- Deploy the feature branch to your Development or Staging environment for testing.
- Using the Drupal admin UI or Drush, enable and configure the new module.
Installing using Live Development
Using Live Development mode, you can temporarily make the docroot of your Development environment writable, so you can add modules or make other changes.
Here are the steps for installing a module on a Cloud Platform environment using Live Development, and then committing it. It’s important that you commit your changes to your Cloud Platform code repository before you disable Live Development. Otherwise, the new module won’t be part of your application’s code base. If your application’s database thinks the new module is enabled, but it can’t be found, this can cause havoc.
- Enable Live Development on your Development environment. Live Development is available for non-Production environments only.
- Sign in to your Drupal application and go to the application’s
/admin/modules
page. - Enable the Update Manager, if it isn’t already enabled.
- On the
/admin/modules
page, click Install new module and use the Update Manager to install the module. - Enable and configure the module, and then test it on your Cloud Platform Development environment.
- Connect to your Cloud Platform infrastructure using SSH.
- Change directory to your application’s live development directory,
/mnt/gfs/[sitename].[env]/livedev
. - Commit your changes to your Cloud Platform code repository.