Try before you buy
User provisioned sites targeting multiple providers
Murray Woodman, Marji Cermak February 15, 2014
Try before you buy User provisioned sites targeting multiple - - PowerPoint PPT Presentation
Try before you buy User provisioned sites targeting multiple providers Murray Woodman, Marji Cermak February 15, 2014 How did we get here? How can we make it easy for users to spin up sites? Drupal As A Service There are lots of options
Murray Woodman, Marji Cermak February 15, 2014
http://drupal.org/projects/cyclone http://github.com/morpht/cyclone-jenkins
.+. .+?: .+??. ??? . +???. +?????????=. .???????????. .????????????. ########### ######## ############.#######. ####### #### ....... ######## #### ####### 50 41 4E 54 48 45 4F 4E #########.####.###### _____________ __ ________ ____ ______ ###### ... /_ __/ __/ _ \/ |/ / _/ |/ / / / / __/ #######.??.########## / / / _// , _/ /|_/ // // / /_/ /\ \ #######~+??.######### /_/ /___/_/|_/_/ /_/___/_/|_/\____/___/ ########.??.. #########.??.#######. #########.+?? ######. .+?. .????????????. +??????????, .????++++++. ????. .???, .~??. .?? .?,.
https://github.com/pantheon-systems/terminus
$ drush pantheon-auth $ drush pantheon-site-create my-site --label='My Site' -- product=21e1fada-199c-492b-97bd-0b36b53a9da0 $ drush pantheon-aliases $ drush -y @pantheon.my-site.dev si --site-name='My site' pantheon $ drush -y @pantheon.my-site.dev en views ctools $ drush psite-dash my-site -y $ drush psite-clone $SITE_UUID dev test
https://groups.google.com/a/getpantheon.com/forum/#!forum/engineering-talk
$ drush @wellington.cyclone.morpht.com provision-clone @my- wellington.cyclone.morpht.com $ drush @hostmaster hosting-task --force @platform_drupal726 verify https://drupal.org/project/provision
$ drush provision-save @kiwi.cyclone.morpht.com
$ drush @kiwi.cyclone.morpht.com provision-install $ drush @hostmaster hosting-task
https://drupal.org/project/provision
$plugin = array( 'name' => 'cyclone_builder_jenkins', 'label' => t('Jenkins Builder'), 'description' => t("Builds sites with Jenkins."), 'handler' => array( 'class' => 'CycloneJenkinsBuilder', ), );
$plugin = array( 'title' => t('URL encoded key=value'), 'handler' => array( 'class' => 'Webhook_Plugins_Unserializer_UrlEncoded', ), ); $plugin = array( 'title' => t('Cyclone Status Processor'), 'handler' => array( 'class' => 'CycloneStatusProcessor', ), );
cyclone_jenkins/cyclone/builders.py class Aegir(Builder): def __init__(self, provider): def site_create(self, site_id, target, params, extensions): def site_destroy(self, site_id, target, params, extensions): class Pantheon(Builder): def __init__(self, provider): def site_create(self, site_id, target, params, extensions): def site_destroy(self, site_id, target, params, extensions):
cyclone_jenkins/cyclone/extensions.py class Variables(Extension): def extend(self, ext_params): class Enable(Extension): def extend(self, ext_params): class Disable(Extension): def extend(self, ext_params): class SomethingReallyBespoke(Extension): def extend(self, ext_params):