Skip to content

Instantly share code, notes, and snippets.

@guilhermedecampo
Created May 9, 2015 00:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guilhermedecampo/f1b5f248ed7502b64106 to your computer and use it in GitHub Desktop.
Save guilhermedecampo/f1b5f248ed7502b64106 to your computer and use it in GitHub Desktop.
Manual script to deploy meteor apps before meteor up
#!/bin/bash
set -e -x
#Declarations
################Declarations###############
# App name
APP_NAME=yourapp
#Path for app
APP_PATH=/Users/Guilherme/Documents/YourAPP
function prod {
cd $APP_NAME;
mrt bundle bundle.tgz; #substituir pelo meteor build
tar -zxvf bundle.tgz;
rm -rf bundle.tgz;
cd $APP_PATH/$APP_NAME/bundle;
mv main.js $APP_NAME.js;
# hahaha saca só o que eu fazia para não mandar um scp, nesse caso vc poderia mandar um scp aqui
git init;
git add .;
git commit -m "Initial commit";
# Delete old repository
curl -L --silent -X DELETE --user username:password https://api.bitbucket.org/1.0/repositories/username/$APP_NAME
#Add new repository
curl --user username:password https://api.bitbucket.org/1.0/repositories/ --data is_private=true --data name=$APP_NAME;
git remote add origin https://username@bitbucket.org/username/$APP_NAME.git;
git push -u --force origin master;
cd ..;
rm -rf bundle;
ssh root@ipdigitalocean 'bash -s' < $APP_PATH/prod.sh;
}
case "$1" in
prod)
prod
;;
*)
cat <<ENDCAT
prod [action]
Available actions:
staging - Deploy staging app to the server
prod - Deploy prod app to the server
ENDCAT
;;
esac
#!/bin/bash
set -e -x
function runProd {
export PATH=$PATH:/home/youruser/.nvm/v0.10.26/bin;
cd $APP_PATH_SERVER;
git clone https://username:password@bitbucket.org/username/$APP_NAME.git newProd;
cd newProd/programs/server/node_modules;
rm -rf fibers;
eval $NPM install fibers@1.0.1;
cd $APP_PATH_SERVER;
if [ -d "$DIRECTORY_ROLLBACK" ]; then
rm -r rollback;
fi
if [ -d "$DIRECTORY_PROD" ]; then
eval $FOREVER stop $APP_NAME.js;
mv prod rollback;
fi
mv newProd prod;
cd $APP_PATH_SERVER/prod;
export PORT=3000;
export ROOT_URL=https://yoursite.com;
export MONGO_URL=mongodb://username:password@lamppost.3.mongolayer.com:10221,lamppost.4.mongolayer.com:10182/yourdb;
export MONGO_OPLOG_URL=mongodb://username:password@lamppost.3.mongolayer.com:10221,lamppost.4.mongolayer.com:10182/local?authSource=yourdb;
# lembrando que uso forever aqui
eval $FOREVER start $APP_NAME.js;
}
runProd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment