Advertisement
Guest User

Untitled

a guest
May 27th, 2015
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. @servers(['web' => 'localhost'])
  2.  
  3. <?php
  4. $repo = ''; // repository's url
  5. $base_dir = ''; //root folder of the deploy
  6. $release_dir = "$base_dir/releases";
  7. $app_dir = "$base_dir/current";
  8. $log_dir = "$base_dir/logs";
  9. $release = 'release_' . date('YmdHis');
  10. $branch = 'production';
  11. ?>
  12.  
  13. @macro('deploy')
  14. create_dirs
  15. fetch_repo
  16. run_composer
  17. artisan
  18. update_symlinks
  19. frontend
  20. migrate
  21. restarts
  22. @endmacro
  23.  
  24. @task('hostname')
  25. hostname
  26. @endtask
  27.  
  28. @task('create_dirs')
  29. [ -d {{ $base_dir }} ] || mkdir -p {{ $base_dir }};
  30. [ -d {{ $release_dir }} ] || mkdir -p {{ $release_dir }};
  31. [ -d {{ $log_dir }} ] || mkdir -p {{ $log_dir }};
  32. @endtask
  33.  
  34. @task('fetch_repo')
  35. git clone -b {{ $branch }} {{ $repo }} {{ $release_dir }}/{{ $release }};
  36. @endtask
  37.  
  38. @task('run_composer')
  39. cd {{ $release_dir }}/{{ $release }};
  40. composer install --prefer-dist --no-scripts;
  41. @endtask
  42.  
  43. @task('artisan')
  44. php artisan clear-compiled --env=production;
  45. php artisan optimize --env=production;
  46. php artisan route:cache --env=production;
  47. php artisan config:cache --env=production;
  48. php artisan auth:clear-resets;
  49. @endtaks
  50.  
  51. @task('update_permissions')
  52. cd {{ $release_dir }};
  53. chgrp -R www-data {{ $release }};
  54. chmod -R ug+rwx {{ $release }};
  55. @endtask
  56.  
  57. @task('update_symlinks')
  58. ln -nfs {{ $release_dir }}/{{ $release }} {{ $app_dir }};
  59. chgrp -h www-data {{ $app_dir }};
  60.  
  61. rm -r {{ $release_dir }}/{{ $release }}/app/storage/logs;
  62. cd {{ $release_dir }}/{{ $release }}/app/storage;
  63. ln -nfs ../../../../logs logs;
  64.  
  65. chgrp -R www-data {{ $release_dir }}/{{ $release }}/app/storage;
  66. @endtask
  67.  
  68. @task('restarts')
  69. sudo service php5-fpm reload;
  70. @endtask
  71.  
  72. @task('frontend')
  73. cd {{ $release_dir }}/{{ $release }};
  74. sudo /usr/bin/npm install;
  75. sudo /usr/bin/gulp;
  76. @endtask
  77.  
  78. @task('migrate')
  79. cd {{ $release_dir }}/{{ $release }};
  80. php artisan migrate --force --env=production;
  81. @endtask
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement