Terminus Site Clone
Site Clone - A Terminus plugin that adds the site:clone
command to facilitate cloning sites on Pantheon.
Disclaimer
While this script has worked well for us your mileage may vary due to local machine configuration. If you are having issues with running this plugin locally try using this Dockerfile, which has all the tools needed pre installed.
This repository is provided without warranty or direct support. Issues and questions may be filed in GitHub but their resolution is not guaranteed.
Installation
Installing with Composer
composer -n create-project pantheon-systems/terminus-site-clone-plugin:^2 ~/.terminus/plugins/terminus-site-clone-plugin
Manual installation
Clone this project into your Terminus plugins directory found at $HOME/.terminus/plugins
. If the $HOME/.terminus/plugins
directory does not exists you can safely create it. You will also need to run composer install
in the plugin directory after cloning it. See installing Terminus plugin for details.
Requirements
-
Terminus
2.0
or greater -
git command line
1.7.10
or greater
Usage
terminus site:clone <source>.<env> <destination>.<env>
where <source>
and <destination>
are site UUID or machine name and <env>
is a valid environment (dev or multidev).
Code cannot be cloned to or from test and live environments as work must go through the Pantheon workflow. You can, however, use --no-code
to clone the files and database to or from a test or live environment.
You can also pass the argument(s) --no-database
, --no-files
and/or --no-code
to skip cloning one or more items. You cannot, however, skip all three as there would be nothing left to clone.
By default, backups are made on both the source and destination environment before cloning. Use --no-source-backup
and/or --no-destination-backup
to omit one of both backups.
Note files and database backups over 500MBs will not work due to Pantheon import file size limits. If your files or database are over 500MB they will need to be manually migrated.
Changelog
2.0.0
- Add support for Terminus
2.0
- Remove support for Terminus
1.x
- Separate options for backing up source and destination
- Use
git clone --single-branch
to avoid downloading unnecessary history
1.0.0
- Initial release
License
MIT