Created
June 5, 2015 14:38
-
-
Save mikekamornikov/81e638e22cb2e67132f4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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