Guest User

Envoy Deploy File

a guest
May 11th, 2015
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. {{--
  2. This is an SSH Alias----V
  3. --}}
  4.  
  5. @servers([ "remote" => "liberty", "local" => "localhost" ])
  6.  
  7. @setup
  8. $timestamp = date("Ymdhis");
  9.  
  10. $basedir = "/var/www/vhosts/example.com";
  11.  
  12. $shared = "{$basedir}/shared";
  13.  
  14. $uploads = "{$basedir}/releases/{$timestamp}/wp-content/uploads";
  15.  
  16. $runner = "apache";
  17.  
  18. $group = "wrl_users";
  19. @endsetup
  20.  
  21. @task("create-directory", ["on" => "remote"])
  22. cd "{{ $basedir }}/releases/"
  23.  
  24. echo "Creating Directory \"{{ $basedir }}/releases/{{ $timestamp }}\""
  25.  
  26. mkdir "{{ $timestamp }}" && cd "{{ $timestamp }}"
  27.  
  28. @endtask
  29.  
  30. @task("copy-files", ["on" => "remote"])
  31.  
  32. # copy files from public to new release
  33.  
  34. echo "Starting Remote RSYNC..."
  35. rsync -r "{{ $basedir }}/public/" ./
  36. echo "Finished with RSYNC."
  37.  
  38. @endtask
  39.  
  40. @task("create-symlinks", ["on" => "remote"])
  41. # create uploads symlink
  42.  
  43. if [ -e "{{ $uploads }}" ]
  44. then
  45.  
  46. rm -R "{{ $uploads }}"
  47. fi
  48.  
  49. echo "Linking 'uploads' folder..."
  50. ln -nfs "{{ $shared }}/uploads" "{{ $basedir }}/releases/{{ $timestamp }}/wp-content/uploads"
  51.  
  52. @endtask
  53.  
  54. @task("rsync-local", ["on" => "local"])
  55. echo "Syncing development files to remote server..."
  56. rsync -rv --rsh=ssh --exclude "wp-content/uploads" ./ "wrlliberty:{{ $basedir }}/releases/{{ $timestamp }}/"
  57.  
  58. @endtask
  59.  
  60. @task("symlink-public", ["on" => "remote"])
  61. cd "{{ $basedir }}"
  62.  
  63. unlink "public" && ln -nfs "{{ $basedir }}/releases/{{ $timestamp }}" "public"
  64.  
  65. @endtask
  66.  
  67. @task("ownership", ["on" => "remote"])
  68. echo "Fixing Ownership Issues from RSYNC..."
  69. chown {{ $runner }}:{{ $group }} "{{ $basedir }}/releases/{{ $timestamp }}" -Rf
  70. find "{{ $basedir }}/releases/{{ $timestamp }}" -type f -exec chmod 0664 {} \;
  71. find "{{ $basedir }}/releases/{{ $timestamp }}" -type d -exec chmod 0775 {} \;
  72.  
  73. @endtask
  74.  
  75. @macro("deploy")
  76. create-directory
  77. copy-files
  78. rsync-local
  79. create-symlinks
  80. symlink-public
  81. ownership
  82.  
  83. @endmacro
Advertisement
Add Comment
Please, Sign In to add comment