diff --git a/.zenci.yml b/.zenci.yml index 5d10c40..7d9980b 100644 --- a/.zenci.yml +++ b/.zenci.yml @@ -1,11 +1,11 @@ deploy: - branch: + master: server: docs.zen.ci username: zenci dir: '{home}/github/{repo_owner}/{repo_name}/{branch}' env_vars: - docroot: '{home}/domains/docs2.zen.ci' - domain: 'docs2.zen.ci' + docroot: '{home}/domains/docs.zen.ci' + domain: 'docs.zen.ci' database_name: zenci_docs database_user: zenci_docs database_pass_file: '{home}/docs.pass' @@ -18,3 +18,23 @@ deploy: scripts: init: '{deploy_dir}/scripts/deploy_init.sh' after: '{deploy_dir}/scripts/deploy_update.sh' + pull_request: + server: qa.docs.zen.ci + username: test + dir: '{home}/github/{repo_owner}/{repo_name}/pr/{pr_number}' + env_vars: + docroot: '{home}/domains/{pr_number}.{branch}.qa.docs.zen.ci' + domain: '{pr_number}.{branch}.qa.docs.zen.ci' + database_name: 'test_{branch}_{pr_number}' + database_user: 'test_{branch}_{pr_number}' + database_pass: 'test_{branch}_{pr_number}' + account_user: admin + account_mail: admin@zen.ci + account_pass: REPLACE_WITH_ADMIN_PASSWORD + site_mail: noreply@zen.ci + site_name: '{pr_number} {branch} QA site for {repo_owner}/{repo_name}' + default_theme: "flame" + scripts: + init: '{deploy_dir}/scripts/qa_deploy_init.sh' + after: '{deploy_dir}/scripts/deploy_update.sh' + remove: '{deploy_dir}/scripts/qa_deploy_remove.sh' diff --git a/scripts/qa_deploy_init.sh b/scripts/qa_deploy_init.sh new file mode 100644 index 0000000..ec61cf5 --- /dev/null +++ b/scripts/qa_deploy_init.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +#prepare database access +mysqladmin -uroot create $DATABASE_NAME +mysql -u root mysql -e "CREATE USER '"$DATABASE_USER"'@'localhost';" +mysql -u root mysql -e "GRANT ALL ON $DATABASE_NAME.* TO '"$DATABASE_USER"'@'localhost' IDENTIFIED BY '"$DATABASE_PASS"';" + +#prepare DOCROOT +mkdir $DOCROOT + +#prepare apache config and restart it. +cat $HOME/conf.d/template|sed 's/{$DOMAIN}/'$DOMAIN'/g' > $HOME/conf.d/$DOMAIN.conf +sudo apachectl restart + +#install drupal +sh $ZENCI_DEPLOY_DIR/scripts/backdrop_install.sh + +echo "Full site path: $DOCROOT" + +# Go to domain directory. +cd $DOCROOT + +echo "Link documentation" +ln -s $ZENCI_DEPLOY_DIR/Documentation $DOCROOT/files/Documentation + + +echo "Prepare directories for contrib" + +mkdir -p $DOCROOT/modules/contrib +mkdir -p $DOCROOT/themes/contrib +mkdir -p $DOCROOT/layouts/contrib +mkdir -p $DOCROOT/libraries/contrib + +echo "Prepare files directory" +mkdir -p $DOCROOT/files/private + + +cd $DOCROOT/files +ln -s $ZENCI_DEPLOY_DIR/files ./github + + +cp $ZENCI_DEPLOY_DIR/settings/config/config.htaccess $DOCROOT/files/config/.htaccess + +cd $DOCROOT/modules +ln -s $ZENCI_DEPLOY_DIR/modules ./custom + +cd $DOCROOT/themes +ln -s $ZENCI_DEPLOY_DIR/themes ./custom + +cd $DOCROOT/layouts +ln -s $ZENCI_DEPLOY_DIR/layouts ./custom + +cd $DOCROOT/libraries +ln -s $ZENCI_DEPLOY_DIR/libraries ./custom diff --git a/scripts/qa_deploy_remove.sh b/scripts/qa_deploy_remove.sh new file mode 100644 index 0000000..6608683 --- /dev/null +++ b/scripts/qa_deploy_remove.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +echo "Clean QA settings when removed" + +#remove database +mysqladmin -uroot -f drop $DATABASE_NAME +mysql -u root mysql -e "DROP USER '"$DATABASE_USER"'@'localhost';" + +#remove apache config +rm -f $HOME/conf.d/$DOMAIN.conf + +#remove DOCROOT +chmod 755 $DOCROOT/sites/default +rm -rf $DOCROOT