Skip to content

Instantly share code, notes, and snippets.

@mikekamornikov
Created June 5, 2015 14:38
Show Gist options
  • Save mikekamornikov/81e638e22cb2e67132f4 to your computer and use it in GitHub Desktop.
Save mikekamornikov/81e638e22cb2e67132f4 to your computer and use it in GitHub Desktop.
#!/bin/zsh
alias sss="date +%s"
fts () {
sec=$(( `sss` - $1 ))
((h=${sec}/3600))
((m=(${sec}%3600)/60))
((s=${sec}%60))
printf "%02d:%02d:%02d\n" $h $m $s
}
ttt () {
printf "%-60s ... %s ( %s )\n" $1 `fts $3` `fts $2`
}
t1=`sss`
CURRENT_DIR=`pwd`
FLAV=ult
SUGARCRM_SRC_DIR=/Users/m.kamornikov/Dev/sugarcrm
BUILD_DIR=$SUGARCRM_SRC_DIR/build/rome/builds/$FLAV/sugarcrm
REMOTE_DIR=/var/www/salesconnect
REMOTE_DATALOADER_DIR=/home/vagrant/dev/dataloaders
SUGARCRM_URL=http://salesconnect
VAGRANT_FOLDER=/Users/m.kamornikov/Dev/salesconnect
t2=`sss`
cd $SUGARCRM_SRC_DIR/build/rome
php -n build.php --ver=7.6.0 --flav=$FLAV --dir=sugarcrm --clean > /dev/null
# /Users/m.kamornikov/Dev/sugarcrm-buider/bin/build -m > /dev/null
cd $CURRENT_DIR
ttt "1. building '$SUGARCRM_SRC_DIR'" $t1 $t2
t2=`sss`
echo '\n\n// dev settings:\n$sugar_config['\''install_federation'\''] = false;\n$sugar_config['\''full_text_engine'\'']['\''Elastic'\'']['\''index_settings'\'']['\''default'\'']['\''index'\'']['\''number_of_shards'\''] = 1;' >> $BUILD_DIR/custom/install/config_override.php
ttt "2. update config_override.php" $t1 $t2
t2=`sss`
cd $VAGRANT_FOLDER
vagrant ssh -c "sudo rm -rf $REMOTE_DIR/*" > /dev/null 2>&1
cd $CURRENT_DIR
ttt "3. cleaning remote '$REMOTE_DIR'" $t1 $t2
t2=`sss`
rsync -arzqe "sshpass -p 'vagrant' ssh -p 2222" $BUILD_DIR/ vagrant@localhost:$REMOTE_DIR/
ttt "4. rsyncing the build to remote folder" $t1 $t2
t2=`sss`
cd $VAGRANT_FOLDER
vagrant ssh -c "sudo chown -R vagrant:www-data $REMOTE_DIR; sudo chmod -R 777 $REMOTE_DIR" > /dev/null 2>&1
cd $CURRENT_DIR
ttt "5. fixing permissions" $t1 $t2
t2=`sss`
cd $VAGRANT_FOLDER
#vagrant ssh -c "sudo su - db2inst1 bin/create_db.sh" > /dev/null 2>&1
vagrant ssh -c "php /home/db2inst1/bin/drop_tables.php" > /dev/null 2>&1
cd $CURRENT_DIR
cd $CURRENT_DIR
cd $CURRENT_DIR
#> /dev/null 2>&1
cd $CURRENT_DIR
ttt "6. recreating db2 database" $t1 $t2
t2=`sss`
cd $VAGRANT_FOLDER
vagrant ssh -c "sudo service apache2 restart; sudo service memcached restart; sudo service elasticsearch restart; sleep 10" > /dev/null 2>&1
cd $CURRENT_DIR
ttt "7. restarting apache, memcached, elasticsearch (+ sleep 10s)" $t1 $t2
t2=`sss`
curl --silent -L $SUGARCRM_URL > /dev/null
curl --silent -L "$SUGARCRM_URL/install.php?goto=SilentInstall&cli=true" > /dev/null
curl --silent -L $SUGARCRM_URL > /dev/null
ttt "8. running silent install" $t1 $t2
t2=`sss`
cd $VAGRANT_FOLDER
vagrant ssh -c "sudo su - db2inst1 bin/import_avl.sh" > /dev/null 2>&1
cd $CURRENT_DIR
ttt "9. importing avls" $t1 $t2
t2=`sss`
cd $VAGRANT_FOLDER
vagrant ssh -c "sudo rm -rf $REMOTE_DATALOADER_DIR/*" > /dev/null 2>&1
echo '\n\n// dev settings:\n$config['\''db'\'']['\''port'\''] = '\''50000'\'';\n$config['\''db'\'']['\''name'\''] = '\''sugarult'\'';\n$config['\''sugarcrm'\'']['\''directory'\''] = '\'$REMOTE_DIR\'';' >> $SUGARCRM_SRC_DIR/ibm/dataloaders/config.php
rsync -arzqe "sshpass -p 'vagrant' ssh -p 2222" $SUGARCRM_SRC_DIR/ibm/dataloaders/ vagrant@localhost:$REMOTE_DATALOADER_DIR/
cd $SUGARCRM_SRC_DIR
git checkout -- ibm/dataloaders/config.php > /dev/null
vagrant ssh -c "cd $REMOTE_DATALOADER_DIR; sudo chown -R vagrant:vagrant $REMOTE_DATALOADER_DIR; sudo chmod -R 777 $REMOTE_DATALOADER_DIR; php populate_TinyDataset.php; sudo chown -R vagrant:www-data $REMOTE_DIR; sudo chmod -R 777 $REMOTE_DIR" > /dev/null 2>&1
cd $CURRENT_DIR
ttt "10. running dataloader" $t1 $t2
echo "DONE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment