Guest User

Untitled

a guest
Jul 24th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #!/bin/bash
  2. # dependence: apt-get install sshpass
  3.  
  4. #config
  5. PROJECT_NAME='pugce'
  6. HOST="localhost"
  7. PORT=2222
  8. BRANCH="master"
  9. LOCAL_PATH='/home/fabio/sandbox/pugce/'
  10. REMOTE_PATH='/home/pollux/pugce'
  11. read -p "user: " USER
  12. read -sp "password: " PASSWORD
  13.  
  14. #helpers
  15. remote_cmd() {
  16. CMD="$*"
  17. echo $USER@$HOST: $CMD
  18. sshpass -p $PASSWORD ssh -p $PORT $USER@$HOST "$CMD"
  19. }
  20.  
  21. # deploy
  22. #backup
  23. REMOTE_PATH_BKP=$REMOTE_PATH.`date +%Y%m%d_%H%M%S`
  24. remote_cmd mv $REMOTE_PATH $REMOTE_PATH_BKP
  25.  
  26. #extract git files
  27. TMP_PATH=/tmp/$PROJECT_NAME.`date +%Y%m%d_%H%M%S`
  28. mkdir $TMP_PATH
  29. git archive $BRANCH | tar -x -C $TMP_PATH
  30.  
  31. #replace something with sed here
  32.  
  33. #copy $TMP_PATH to remote path
  34. sshpass -p $PASSWORD scp -P $PORT -Cr $TMP_PATH $USER@$HOST:$REMOTE_PATH
  35. #remove local copy
  36. rm -Rf $TMP_PATH
  37.  
  38. # test it here and do automatic rollback if necessary
  39. # ...
Add Comment
Please, Sign In to add comment