648a8af52f
Add a groups-dev node to openstack infra, based on drupal environment. This node checks out the repository: https://git.openstack.org/openstack-infra/groups Build a new deployment from scratch, including drush make distbuild and drush si auto-installation features. Change-Id: I71eef1c14724ceb13a896ff768923148dedcc2ef
121 lines
4.0 KiB
Markdown
121 lines
4.0 KiB
Markdown
# License
|
|
|
|
Copyright 2013 OpenStack Foundation
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
not use this file except in compliance with the License. You may obtain
|
|
a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
License for the specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
# Drupal module for Puppet
|
|
|
|
This module manages Drupal on Linux distros.
|
|
|
|
## Description
|
|
|
|
## Usage
|
|
|
|
### drupal
|
|
Install and configure a Drupal site, including Apache vhost entry, MySQL
|
|
database, Pear and drush cli tool.
|
|
|
|
Example:
|
|
|
|
class { 'drupal':
|
|
site_name => 'www.example.com',
|
|
site_docroot => '/srv/vhosts/example.com',
|
|
site_mysql_host => 'localhost',
|
|
site_mysql_user => 'myuser',
|
|
site_mysql_password => 's3cretPassw0rd',
|
|
site_mysql_database => 'example',
|
|
site_vhost_root => '/srv/vhosts',
|
|
site_staging_tarball => 'example-dev.tar.gz',
|
|
site_admin_password => 'adminadmin',
|
|
site_build_reponame => 'example-master',
|
|
site_makefile => 'build-example.make',
|
|
site_repo_url => 'https://git.example.com/repo/example',
|
|
site_profile => 'standard',
|
|
site_base_url => 'http://example.com',
|
|
...
|
|
}
|
|
|
|
Build process:
|
|
- build a distribution tarball (drupal::distbuild)
|
|
- deploy a site from scratch (drupal:sitedeploy)
|
|
|
|
### drupal::distbuild
|
|
Build a distribution from a git repository, using drush make command. Check
|
|
out the git repository under site_sandbox_root and compare head commit with
|
|
latest deployed version. If version is different, clean up the
|
|
site_deploy_flagfile, and drush make building process start. The flag file
|
|
site_build_flagfile always contains the version of built repository.
|
|
|
|
Example:
|
|
|
|
distbuild { "distbuild-${site_name}":
|
|
site_sandbox_root => '/srv/sandbox',
|
|
site_staging_root => '/srv/sandbox/release',
|
|
site_repo_url => 'https://git.example.com/repo/example',
|
|
site_build_repo_name => 'example-master',
|
|
site_staging_tarball => 'example-dev.tar.gz',
|
|
site_build_flagfile => '/tmp/drupal-site-build',
|
|
site_deploy_flagfile => '/tmp/drupal-site-deploy',
|
|
site_makefile => 'build-example.make',
|
|
...
|
|
}
|
|
|
|
Directory structure:
|
|
/srv/sandbox/example-master local git repository clone
|
|
build-example.make
|
|
drupal-org-core.make
|
|
drupal-org.make
|
|
example.info
|
|
example.install
|
|
example.profile
|
|
/srv/sandbox/release distribution tarball directory
|
|
example-dev.tar.gz
|
|
|
|
Flag files:
|
|
/tmp/drupal-site-build
|
|
Holds the version of information of latest successfull build
|
|
# pack-refs with: peeled
|
|
df23bc9510ac8406c33f896f824997a79d20d27d refs/remotes/origin/master
|
|
|
|
/tmp/drupal-site-deploy
|
|
If missing, drupal:sitedeploy triggers a new deployment process.
|
|
|
|
### drupal:sitedeploy
|
|
Deploy and install a new site based on a previously built distribution
|
|
tarball, using drupal_site_deploy.sh script.
|
|
|
|
|
|
Example:
|
|
|
|
sitedeploy { "sitedeploy-${site_name}":
|
|
site_docroot => '/srv/vhosts/example.com',
|
|
site_staging_root => '/srv/sandbox/release',
|
|
site_staging_tarball => 'example-dev.tar.gz',
|
|
site_deploy_flagfile => '/tmp/drupal-site-deploy',
|
|
site_name => $site_name,
|
|
site_profile => 'standard',
|
|
site_mysql_host => 'localhost',
|
|
site_mysql_user => 'myuser',
|
|
site_mysql_password => 's3cretPassw0rd',
|
|
site_mysql_database => 'example',
|
|
site_admin_password => 'adminadmin',
|
|
site_base_url => 'http://example.com',
|
|
...
|
|
}
|
|
|
|
Directory structure:
|
|
/srv/vhosts/example.com drupal site root
|
|
/etc/drupal
|
|
example.com.config drupal site deploy script configuration
|
|
|