bonethug 0.0.67 → 0.0.68

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +0 -0
  3. data/ISSUES.txt +0 -0
  4. data/LICENSE.txt +0 -0
  5. data/README.md +0 -0
  6. data/Rakefile +0 -0
  7. data/TODO.txt +5 -4
  8. data/bin/bonethug +0 -0
  9. data/bin/thug +0 -0
  10. data/bonethug.gemspec +0 -0
  11. data/config/backup.rb +0 -0
  12. data/config/cnf.yml +184 -177
  13. data/config/deploy.rb +68 -26
  14. data/config/schedule.rb +0 -0
  15. data/config/syncer.rb +0 -0
  16. data/lib/bonethug/cli.rb +242 -242
  17. data/lib/bonethug/conf.rb +0 -0
  18. data/lib/bonethug/installer.rb +378 -378
  19. data/lib/bonethug/utils.rb +0 -0
  20. data/lib/bonethug/version.rb +2 -2
  21. data/lib/bonethug/watcher.rb +0 -0
  22. data/lib/bonethug.rb +0 -0
  23. data/lib/tasks/bonethug.rake +0 -0
  24. data/scripts/ubuntu_setup.sh +0 -0
  25. data/scripts/ubuntu_setup_2.4.sh +106 -0
  26. data/skel/base/.gitignore +0 -0
  27. data/skel/base/Gemfile +0 -0
  28. data/skel/base/README.md +0 -0
  29. data/skel/base/config/example/.gitkeep +0 -0
  30. data/skel/base/lib/.gitkeep +0 -0
  31. data/skel/base/log/.gitkeep +0 -0
  32. data/skel/base/public/favicon.ico +0 -0
  33. data/skel/base/public/robots.txt +0 -0
  34. data/skel/project_types/drupal/.gitignore +0 -0
  35. data/skel/project_types/drupal/composer.json +0 -0
  36. data/skel/project_types/drupal/lib/flush_drupal_cache.php +0 -0
  37. data/skel/project_types/drupal/public/sites/all/themes/project/.keep +0 -0
  38. data/skel/project_types/drupal/public/sites/default/development.settings.php +0 -0
  39. data/skel/project_types/drupal/public/sites/default/production.settings.php +0 -0
  40. data/skel/project_types/drupal/public/sites/default/settings.php +0 -0
  41. data/skel/project_types/drupal/public/sites/default/staging.settings.php +0 -0
  42. data/skel/project_types/drupal6/.gitignore +0 -0
  43. data/skel/project_types/drupal6/composer.json +0 -0
  44. data/skel/project_types/drupal6/lib/flush_drupal_cache.php +0 -0
  45. data/skel/project_types/drupal6/public/sites/all/themes/project/.keep +0 -0
  46. data/skel/project_types/drupal6/public/sites/default/development.settings.php +0 -0
  47. data/skel/project_types/drupal6/public/sites/default/production.settings.php +0 -0
  48. data/skel/project_types/drupal6/public/sites/default/settings.php +0 -0
  49. data/skel/project_types/drupal6/public/sites/default/staging.settings.php +0 -0
  50. data/skel/project_types/drupal7/.gitignore +0 -0
  51. data/skel/project_types/drupal7/composer.json +0 -0
  52. data/skel/project_types/drupal7/lib/flush_drupal_cache.php +0 -0
  53. data/skel/project_types/drupal7/public/sites/all/themes/project/.keep +0 -0
  54. data/skel/project_types/drupal7/public/sites/default/development.settings.php +0 -0
  55. data/skel/project_types/drupal7/public/sites/default/production.settings.php +0 -0
  56. data/skel/project_types/drupal7/public/sites/default/settings.php +0 -0
  57. data/skel/project_types/drupal7/public/sites/default/staging.settings.php +0 -0
  58. data/skel/project_types/drupal8/.gitignore +0 -0
  59. data/skel/project_types/drupal8/composer.json +0 -0
  60. data/skel/project_types/drupal8/lib/flush_drupal_cache.php +0 -0
  61. data/skel/project_types/drupal8/public/sites/all/themes/project/.keep +0 -0
  62. data/skel/project_types/drupal8/public/sites/default/development.settings.php +0 -0
  63. data/skel/project_types/drupal8/public/sites/default/production.settings.php +0 -0
  64. data/skel/project_types/drupal8/public/sites/default/settings.php +0 -0
  65. data/skel/project_types/drupal8/public/sites/default/staging.settings.php +0 -0
  66. data/skel/project_types/php/.gitignore +0 -0
  67. data/skel/project_types/php/composer.json +0 -0
  68. data/skel/project_types/rails3/Gemfile +0 -0
  69. data/skel/project_types/rails3/README.md +0 -0
  70. data/skel/project_types/rails4/Gemfile +0 -0
  71. data/skel/project_types/rails4/README.md +0 -0
  72. data/skel/project_types/rails4/app/assets/fonts/.keep +0 -0
  73. data/skel/project_types/rails4/app/assets/images/.keep +0 -0
  74. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-114x114.png +0 -0
  75. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-120x120.png +0 -0
  76. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-144x144.png +0 -0
  77. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-152x152.png +0 -0
  78. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-57x57.png +0 -0
  79. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-60x60.png +0 -0
  80. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-72x72.png +0 -0
  81. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon-76x76.png +0 -0
  82. data/skel/project_types/rails4/app/assets/images/favicons/apple-touch-icon.png +0 -0
  83. data/skel/project_types/rails4/app/assets/images/favicons/favicon.ico +0 -0
  84. data/skel/project_types/rails4/app/assets/images/favicons/iconifier-readme.txt +0 -0
  85. data/skel/project_types/rails4/app/assets/javascripts/application.js +0 -0
  86. data/skel/project_types/rails4/app/assets/javascripts/lte-ie8-shims.js +0 -0
  87. data/skel/project_types/rails4/app/assets/javascripts/main.js.coffee +0 -0
  88. data/skel/project_types/rails4/app/assets/stylesheets/application.css.scss +0 -0
  89. data/skel/project_types/rails4/app/assets/stylesheets/main.scss +0 -0
  90. data/skel/project_types/rails4/app/controllers/errors_controller.rb +0 -0
  91. data/skel/project_types/rails4/app/helpers/application_helper.rb +0 -0
  92. data/skel/project_types/rails4/app/views/application/index.html.erb +0 -0
  93. data/skel/project_types/rails4/app/views/errors/not_found.html.erb +0 -0
  94. data/skel/project_types/rails4/app/views/errors/server_error.html.erb +0 -0
  95. data/skel/project_types/rails4/app/views/layouts/application.html.erb +0 -0
  96. data/skel/project_types/rails4/config/application.rb +0 -0
  97. data/skel/project_types/rails4/config/environments/development.rb +0 -0
  98. data/skel/project_types/rails4/config/environments/production.rb +0 -0
  99. data/skel/project_types/rails4/config/environments/staging.rb +0 -0
  100. data/skel/project_types/rails4/config/environments/test.rb +0 -0
  101. data/skel/project_types/rails4/config/routes.rb +0 -0
  102. data/skel/project_types/silverstripe3/.bowerrc +0 -0
  103. data/skel/project_types/silverstripe3/.gitignore +0 -0
  104. data/skel/project_types/silverstripe3/README.md +0 -0
  105. data/skel/project_types/silverstripe3/bower.json +0 -0
  106. data/skel/project_types/silverstripe3/composer.json +26 -26
  107. data/skel/project_types/silverstripe3/lib/ss_loadconf.php +0 -0
  108. data/skel/project_types/silverstripe3/public/.htaccess +0 -0
  109. data/skel/project_types/silverstripe3/public/_ss_environment.php +0 -0
  110. data/skel/project_types/silverstripe3/public/assets/error-404.html +0 -0
  111. data/skel/project_types/silverstripe3/public/assets/error-500.html +0 -0
  112. data/skel/project_types/silverstripe3/public/index.php.bak +0 -0
  113. data/skel/project_types/silverstripe3/public/project/.htaccess +0 -0
  114. data/skel/project_types/silverstripe3/public/project/_config/config.yml +0 -0
  115. data/skel/project_types/silverstripe3/public/project/_config.php +0 -0
  116. data/skel/project_types/silverstripe3/public/project/code/Controllers/.gitkeep +0 -0
  117. data/skel/project_types/silverstripe3/public/project/code/Extensions/.gitkeep +0 -0
  118. data/skel/project_types/silverstripe3/public/project/code/Forms/.gitkeep +0 -0
  119. data/skel/project_types/silverstripe3/public/project/code/Objects/.gitkeep +0 -0
  120. data/skel/project_types/silverstripe3/public/project/code/Pages/HomePage.php +0 -0
  121. data/skel/project_types/silverstripe3/public/project/code/Pages/Page.php +0 -0
  122. data/skel/project_types/silverstripe3/public/project/code/Pages/RootPage.php +0 -0
  123. data/skel/project_types/silverstripe3/public/project/code/Tasks/.gitkeep +0 -0
  124. data/skel/project_types/silverstripe3/public/project/coffee/application.js.coffee +0 -0
  125. data/skel/project_types/silverstripe3/public/project/javascript/.gitkeep +0 -0
  126. data/skel/project_types/silverstripe3/public/silverstripe-cache/.gitkeep +0 -0
  127. data/skel/project_types/silverstripe3/public/themes/project/css/.gitkeep +0 -0
  128. data/skel/project_types/silverstripe3/public/themes/project/css/editor.css +0 -0
  129. data/skel/project_types/silverstripe3/public/themes/project/css/typography.css +0 -0
  130. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-114x114.png +0 -0
  131. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-120x120.png +0 -0
  132. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-144x144.png +0 -0
  133. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-152x152.png +0 -0
  134. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-57x57.png +0 -0
  135. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-60x60.png +0 -0
  136. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-72x72.png +0 -0
  137. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon-76x76.png +0 -0
  138. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/apple-touch-icon.png +0 -0
  139. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/favicon.ico +0 -0
  140. data/skel/project_types/silverstripe3/public/themes/project/images/favicons/iconifier-readme.txt +0 -0
  141. data/skel/project_types/silverstripe3/public/themes/project/scss/_functions.scss +0 -0
  142. data/skel/project_types/silverstripe3/public/themes/project/scss/_mixins.scss +0 -0
  143. data/skel/project_types/silverstripe3/public/themes/project/scss/_vars.scss +0 -0
  144. data/skel/project_types/silverstripe3/public/themes/project/scss/main.scss +0 -0
  145. data/skel/project_types/silverstripe3/public/themes/project/scss/typography.scss +0 -0
  146. data/skel/project_types/silverstripe3/public/themes/project/templates/Includes/.gitkeep +0 -0
  147. data/skel/project_types/silverstripe3/public/themes/project/templates/Layout/Page.ss +0 -0
  148. data/skel/project_types/silverstripe3/public/themes/project/templates/Layout/Security.ss +0 -0
  149. data/skel/project_types/silverstripe3/public/themes/project/templates/Page.ss +0 -0
  150. data/skel/skel.yml +0 -0
  151. metadata +3 -2
data/.gitignore CHANGED
@@ -15,6 +15,7 @@ rdoc
15
15
  spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
+ .ruby-version
18
19
  tmp
19
20
  *.sublime-project
20
21
  *.sublime-workspace
data/Gemfile CHANGED
File without changes
data/ISSUES.txt CHANGED
File without changes
data/LICENSE.txt CHANGED
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
data/TODO.txt CHANGED
@@ -1,4 +1,5 @@
1
- - Create front end skeleton
2
- - Need to have project specific cnf.yml files
3
- - Local sync for assets
4
- - thug auth {staging|production} - this would inject your ssh pub key into the authorized_keys file
1
+ - Create front end skeleton
2
+ - Need to have project specific cnf.yml files
3
+ - Local sync for assets
4
+ - thug auth {staging|production} - this would inject your ssh pub key into the authorized_keys file
5
+ - need to allow support for other environment types
data/bin/bonethug CHANGED
File without changes
data/bin/thug CHANGED
File without changes
data/bonethug.gemspec CHANGED
File without changes
data/config/backup.rb CHANGED
File without changes
data/config/cnf.yml CHANGED
@@ -1,178 +1,185 @@
1
- deploy:
2
- common:
3
- project_type: rails3 | rails4 | silverstripe3 | drupal6 | drupal7 | drupal8 | php | sinatra
4
- base_dir: /var/www
5
- repository: git@gitlab.....
6
- project_slug: tradespot
7
- default_branch: master
8
- domain: domain.com
9
- user: root
10
- port: 22
11
- keep: 2
12
- environments:
13
- development:
14
- staging:
15
- domain: staging.domain.com
16
- default_branch: master
17
- production:
18
- domain: production.domain.com
19
- default_branch: stable
20
- dbs:
21
- default:
22
- development:
23
- name: project_development
24
- user: project_development
25
- pass:
26
- host: localhost
27
- port: 3306
28
- staging:
29
- name: project_staging
30
- user: project_staging
31
- pass: passw0rd
32
- host: localhost
33
- port: 3306
34
- production:
35
- name: project_production
36
- user: project_production
37
- pass: passw0rd
38
- host: localhost
39
- port: 3306
40
- backup:
41
- local:
42
- keep:2
43
- ftp:
44
- keep: 10
45
- host: backup-host.com
46
- user: remote_backup
47
- pass: passw0rd
48
- sftp:
49
- keep: 10
50
- host: backup-host.com
51
- user: remote_backup
52
- pass: passw0rd
53
- s3:
54
- keep: 10
55
- key: key
56
- secret: secret
57
- bucket: bucket
58
- rsync:
59
- host: backup-host.com
60
- user: remote_backup
61
- pass: passw0rd
62
- mail:
63
- smtp:
64
- development:
65
- default_from:
66
- name: dev
67
- email: dev@domain.com
68
- server: smtp.gmail.com
69
- domain: gmail.com
70
- authenticate: true
71
- user: username@domain.com
72
- pass: passw0rd
73
- secure: tls
74
- charset_encoding: utf-8
75
- port: 587
76
- staging:
77
- default_from:
78
- name: staging
79
- email: dev@domain.com
80
- server: smtp.gmail.com
81
- domain: gmail.com
82
- authenticate: true
83
- user: username@domain.com
84
- pass: passw0rd
85
- secure: tls
86
- charset_encoding: utf-8
87
- port: 587
88
- production:
89
- default_from:
90
- name: production
91
- email: dev@domain.com
92
- server: smtp.gmail.com
93
- domain: gmail.com
94
- authenticate: true
95
- user: username@domain.com
96
- pass: passw0rd
97
- secure: tls
98
- charset_encoding: utf-8
99
- port: 587
100
- apache:
101
- development:
102
- version: 2.4
103
- server_name: development.domain.local
104
- server_aliases:
105
- - www.development.domain.local
106
- env_vars:
107
- RAILS_ENV: development
108
- APPLICATION_ENV: development
109
- staging:
110
- version: 2.2
111
- server_name: staging.domain.com
112
- server_aliases:
113
- - www.staging.domain.com
114
- env_vars:
115
- RAILS_ENV: staging
116
- APPLICATION_ENV: staging
117
- production:
118
- version: 2.4
119
- server_name: production.domain.com
120
- server_aliases:
121
- - www.production.domain.com
122
- server_admin: dev@domain.com
123
- env_vars:
124
- RAILS_ENV: production
125
- APPLICATION_ENV: production
126
- chown:
127
- development:
128
- staging:
129
- -
130
- path: public/uploads
131
- user: www-data
132
- production:
133
- -
134
- path: public/uploads
135
- user: www-data
136
- chmod:
137
- development:
138
- staging:
139
- -
140
- path: public/uploads
141
- mode: 775
142
- production:
143
- -
144
- path: public/uploads
145
- mode: 775
146
- chgrp:
147
- development:
148
- staging:
149
- -
150
- path: public/uploads
151
- group: www-data
152
- production:
153
- -
154
- path: public/uploads
155
- group: www-data
156
- resources:
157
- - public/assets
158
- - public/uploads
159
- vendor:
160
- - vendor
161
- - public/vendor
162
- watch:
163
- sass:
164
- -
165
- src: public/themes/project/scss
166
- dest: public/themes/project/css
167
- filter: !ruby/regexp '/main\.scss$/'
168
- -
169
- src: public/themes/project/scss
170
- dest: public/themes/project/css
171
- filter: !ruby/regexp '/typography\.scss$/'
172
- coffee:
173
- -
174
- src: public/project/coffee
175
- dest: public/project/javascript
176
- filter: !ruby/regexp '/^.+\.coffee$/'
177
- log_dirs:
1
+ deploy:
2
+ common:
3
+ project_type: rails3 | rails4 | silverstripe3 | drupal6 | drupal7 | drupal8 | php | sinatra
4
+ base_dir: /var/www
5
+ repository: git@gitlab.....
6
+ project_slug: tradespot
7
+ default_branch: master
8
+ domain: domain.com
9
+ user: root
10
+ port: 22
11
+ keep: 2
12
+ environments:
13
+ development:
14
+ staging:
15
+ domain: staging.domain.com
16
+ default_branch: master
17
+ production:
18
+ domain: production.domain.com
19
+ default_branch: stable
20
+ dbs:
21
+ default:
22
+ development:
23
+ name: project_development
24
+ user: project_development
25
+ pass:
26
+ host: localhost
27
+ port: 3306
28
+ staging:
29
+ name: project_staging
30
+ user: project_staging
31
+ pass: passw0rd
32
+ host: localhost
33
+ port: 3306
34
+ production:
35
+ name: project_production
36
+ user: project_production
37
+ pass: passw0rd
38
+ host: localhost
39
+ port: 3306
40
+ backup:
41
+ local:
42
+ keep:2
43
+ ftp:
44
+ keep: 10
45
+ host: backup-host.com
46
+ user: remote_backup
47
+ pass: passw0rd
48
+ sftp:
49
+ keep: 10
50
+ host: backup-host.com
51
+ user: remote_backup
52
+ pass: passw0rd
53
+ s3:
54
+ keep: 10
55
+ key: key
56
+ secret: secret
57
+ bucket: bucket
58
+ rsync:
59
+ host: backup-host.com
60
+ user: remote_backup
61
+ pass: passw0rd
62
+ mail:
63
+ smtp:
64
+ development:
65
+ default_from:
66
+ name: dev
67
+ email: dev@domain.com
68
+ server: smtp.gmail.com
69
+ domain: gmail.com
70
+ authenticate: true
71
+ user: username@domain.com
72
+ pass: passw0rd
73
+ secure: tls
74
+ charset_encoding: utf-8
75
+ port: 587
76
+ staging:
77
+ default_from:
78
+ name: staging
79
+ email: dev@domain.com
80
+ server: smtp.gmail.com
81
+ domain: gmail.com
82
+ authenticate: true
83
+ user: username@domain.com
84
+ pass: passw0rd
85
+ secure: tls
86
+ charset_encoding: utf-8
87
+ port: 587
88
+ production:
89
+ default_from:
90
+ name: production
91
+ email: dev@domain.com
92
+ server: smtp.gmail.com
93
+ domain: gmail.com
94
+ authenticate: true
95
+ user: username@domain.com
96
+ pass: passw0rd
97
+ secure: tls
98
+ charset_encoding: utf-8
99
+ port: 587
100
+ apache:
101
+ development:
102
+ version: 2.4
103
+ server_name: development.domain.local
104
+ server_aliases:
105
+ - www.development.domain.local
106
+ env_vars:
107
+ RAILS_ENV: development
108
+ APPLICATION_ENV: development
109
+ staging:
110
+ version: 2.2
111
+ server_name: staging.domain.com
112
+ server_aliases:
113
+ - www.staging.domain.com
114
+ env_vars:
115
+ RAILS_ENV: staging
116
+ APPLICATION_ENV: staging
117
+ basic_auth:
118
+ -
119
+ user: username1
120
+ pass: passw0rd1
121
+ -
122
+ user: username2
123
+ pass: passw0rd2
124
+ production:
125
+ version: 2.4
126
+ server_name: production.domain.com
127
+ server_aliases:
128
+ - www.production.domain.com
129
+ server_admin: dev@domain.com
130
+ env_vars:
131
+ RAILS_ENV: production
132
+ APPLICATION_ENV: production
133
+ chown:
134
+ development:
135
+ staging:
136
+ -
137
+ path: public/uploads
138
+ user: www-data
139
+ production:
140
+ -
141
+ path: public/uploads
142
+ user: www-data
143
+ chmod:
144
+ development:
145
+ staging:
146
+ -
147
+ path: public/uploads
148
+ mode: 775
149
+ production:
150
+ -
151
+ path: public/uploads
152
+ mode: 775
153
+ chgrp:
154
+ development:
155
+ staging:
156
+ -
157
+ path: public/uploads
158
+ group: www-data
159
+ production:
160
+ -
161
+ path: public/uploads
162
+ group: www-data
163
+ resources:
164
+ - public/assets
165
+ - public/uploads
166
+ vendor:
167
+ - vendor
168
+ - public/vendor
169
+ watch:
170
+ sass:
171
+ -
172
+ src: public/themes/project/scss
173
+ dest: public/themes/project/css
174
+ filter: !ruby/regexp '/main\.scss$/'
175
+ -
176
+ src: public/themes/project/scss
177
+ dest: public/themes/project/css
178
+ filter: !ruby/regexp '/typography\.scss$/'
179
+ coffee:
180
+ -
181
+ src: public/project/coffee
182
+ dest: public/project/javascript
183
+ filter: !ruby/regexp '/^.+\.coffee$/'
184
+ log_dirs:
178
185
  - log
data/config/deploy.rb CHANGED
@@ -36,7 +36,7 @@ raise 'could not find deployment environment' unless conf.get('deploy.environmen
36
36
  deploy = conf.node_merge('deploy.common','deploy.environments.'+env)
37
37
  resources = conf.get('resources','Array') || []
38
38
  log_dirs = conf.get('log_dirs','Array') || []
39
- vendor = conf.get('vendor','Array') || []
39
+ vendor = conf.get('vendor','Array') || []
40
40
 
41
41
  # vhost name
42
42
  vhost = deploy.get('project_slug') + '_' + env
@@ -44,7 +44,7 @@ vhost = deploy.get('project_slug') + '_' + env
44
44
  # composer?
45
45
  use_composer = ['silverstripe','silverstripe3','drupal','drupal6','drupal7','drupal8','php'].include? deploy.get('project_type')
46
46
 
47
- # composer?
47
+ # bower?
48
48
  use_bower = ['silverstripe','silverstripe3','drupal','drupal6','drupal7','drupal8','php'].include? deploy.get('project_type')
49
49
 
50
50
  # directories we need to track
@@ -72,7 +72,7 @@ set :user, deploy.get('user')
72
72
  set :port, deploy.get('port')
73
73
  set :rails_env, env
74
74
  set :shared_paths, shared
75
-
75
+
76
76
 
77
77
  # Tasks
78
78
  # ---------------------------------------------------------------
@@ -94,7 +94,7 @@ task :setup => :environment do
94
94
  resources.each do |path|
95
95
  queue! %[chown -R www-data:www-data "#{deploy_to}/shared/#{path}"]
96
96
  queue! %[chmod -R 0775 "#{deploy_to}/shared/#{path}"]
97
- end
97
+ end
98
98
 
99
99
  # set appropriate permissions on the logs
100
100
  log_dirs.each do |path|
@@ -109,11 +109,11 @@ task :setup => :environment do
109
109
  queue! %[mkdir -p "#{deploy_to}/shared/tmp"]
110
110
  queue! %[touch "#{deploy_to}/shared/tmp/restart.txt"]
111
111
  queue! %[cd #{deploy_to}/shared/tmp && chown -R www-data:www-data . && chmod -R 775 .]
112
-
112
+
113
113
  # init composer
114
114
  if use_composer
115
115
  queue! %[mkdir -p "#{deploy_to}/shared/vendor"]
116
- queue! %[cd #{deploy_to}/shared && curl -s http://getcomposer.org/installer | php]
116
+ queue! %[cd #{deploy_to}/shared && curl -s http://getcomposer.org/installer | php]
117
117
  end
118
118
 
119
119
  # create the backup folder
@@ -130,7 +130,7 @@ end
130
130
 
131
131
  desc "Sets up an environment"
132
132
  task :setup_env => :environment do
133
- Bonethug::Installer.get_setup_env_cmds.each do |cmd|
133
+ Bonethug::Installer.get_setup_env_cmds.each do |cmd|
134
134
  queue! %[#{cmd}]
135
135
  end
136
136
  end
@@ -159,7 +159,7 @@ task :init_db => :environment do
159
159
 
160
160
  #rails
161
161
  queue! %[cd #{deploy_to}/current && bundle exec rake db:reset RAILS_ENV="#{env}"] if deploy.get('project_type') =~ /rails[0-9]?/
162
-
162
+
163
163
  # drpual
164
164
  if deploy.get('project_type') =~ /drupal[0-9]?/
165
165
  conf.get('dbs').each do |name,envs|
@@ -178,18 +178,18 @@ end
178
178
 
179
179
  desc "Syncs files to a location"
180
180
  task :sync_from => :environment do
181
- if rsync = conf.get('backup.rsync')
181
+ if rsync = conf.get('backup.rsync')
182
182
  path = deploy.get('project_slug') + "_" + env + "_sync"
183
183
  ssh_pass = rsync.get('pass') ? "sshpass -p #{rsync.get('pass')}" : ""
184
184
  queue! %[#{ssh_pass} ssh #{rsync.get('user')}@#{rsync.get('host')} mkdir -p #{path}]
185
185
  (resources + log_dirs).each do |item|
186
-
186
+
187
187
  queue! %[cd #{deploy_to}/current && rsync -r -a -v -e "#{ssh_pass} ssh -l #{rsync.get('user')}" --delete --copy-dirlinks ./#{item} #{rsync.get('host')}:#{path}/]
188
188
 
189
189
  end
190
190
  else
191
191
  raise 'no rsync conf'
192
- end
192
+ end
193
193
  end
194
194
 
195
195
  desc "Restores files from a location"
@@ -201,7 +201,7 @@ task :sync_to => :environment do
201
201
  (resources + log_dirs).each do |item|
202
202
 
203
203
  queue! %[cd #{deploy_to}/current && rsync -r -a -v -e "#{ssh_pass} ssh -l #{rsync.get('user')}" --delete --copy-dirlinks #{rsync.get('host')}:#{path}/#{item} ./]
204
-
204
+
205
205
  end
206
206
  else
207
207
  raise 'no rsync conf'
@@ -272,7 +272,7 @@ task :deploy => :environment do
272
272
  Order allow,deny
273
273
  Allow from all
274
274
  #{vh_cnf.get('version').to_f > 2.4 ? 'Require all granted' : ''}
275
-
275
+
276
276
  </Directory>
277
277
 
278
278
  </VirtualHost>
@@ -296,7 +296,7 @@ task :deploy => :environment do
296
296
  # ensure that the correct directory permissions are set - public is a bit heavy handed
297
297
  queue! %[cd #{deploy_to}/current/public && chown -R www-data:www-data . && chmod -R 775 .]
298
298
  queue! %[cd #{deploy_to}/shared/tmp && chown -R www-data:www-data . && chmod -R 775 .]
299
-
299
+
300
300
  # set appropriate permissions on the resource dirs - if they just need read / write - should prob be 0666
301
301
  resources.each do |path|
302
302
  queue! %[chown -R www-data:www-data "#{deploy_to}/shared/#{path}"]
@@ -307,23 +307,23 @@ task :deploy => :environment do
307
307
  chowns = conf.get('chown.'+env)
308
308
  if chowns
309
309
  chowns.each do |index, chown|
310
- queue! %[cd #{deploy_to}/current/#{chown.get('path')} && chown -R #{chown.get('user')} .]
310
+ queue! %[chown -R #{chown.get('user')} #{deploy_to}/current/#{chown.get('path')}]
311
311
  end
312
312
  end
313
-
313
+
314
314
  # apply defined permissions
315
315
  chgrps = conf.get('chgrp.'+env)
316
316
  if chgrps
317
317
  chgrps.each do |index, chgrp|
318
- queue! %[cd #{deploy_to}/current/#{chgrp.get('path')} && chgrp -R #{chgrp.get('group')} .]
318
+ queue! %[chgrp -R #{chgrp.get('group')} #{deploy_to}/current/#{chgrp.get('path')}]
319
319
  end
320
- end
321
-
320
+ end
321
+
322
322
  # apply defined permissions
323
323
  chmods = conf.get('chmod.'+env)
324
324
  if chmods
325
325
  chmods.each do |index, chmod|
326
- queue! %[cd #{deploy_to}/current/#{chmod.get('path')} && chmod -R #{chmod.get('mode')} .]
326
+ queue! %[chmod -R #{chmod.get('mode')} #{deploy_to}/current/#{chmod.get('path')}]
327
327
  end
328
328
  end
329
329
 
@@ -331,17 +331,59 @@ task :deploy => :environment do
331
331
  queue! %[php #{deploy_to}/shared/composer.phar install] if use_composer
332
332
 
333
333
  # update bower
334
- queue! %[cd #{deploy_to}/current && bower install --allow-root] if use_bower
334
+ queue! %[cd #{deploy_to}/current && bower install --allow-root] if use_bower
335
+
336
+ # trigger a restart on rack based systems
337
+ queue! %[touch #{deploy_to}/current/tmp/restart.txt]
338
+
339
+ # handle basic auth
340
+ if vh_cnf.get 'basic_auth'
341
+
342
+ # handle auto creation of .htaccess
343
+ htaccess = "
344
+ ## BONETHUG ##
345
+ AuthName \"test\"
346
+ AuthType Basic
347
+ AuthUserFile #{deploy_to}/current/.htpasswd
348
+ require valid-user
349
+ ## END_BONETHUG ##
350
+ "
351
+
352
+ # htaccess
353
+ htpass = ""
354
+ vh_cnf.get('basic_auth').each do |index, cred|
355
+ htpass += cred.get('user').to_s + ":" + cred.get('pass').to_s.crypt('bonethugisreallydope') + "\n"
356
+ end
357
+
358
+ # write the to the .haccess file
359
+ queue! %[touch #{deploy_to}/current/public/.htaccess]
360
+ clean = File.read("#{deploy_to}/current/public/.htaccess").gsub(/\n?## BONETHUG ##.+## END_BONETHUG ##\n?/m, '');
361
+ escaped = (clean.to_s + htaccess).gsub(/"/, '\"')
362
+ queue! %[echo "#{escaped}" > #{deploy_to}/current/public/.htaccess]
335
363
 
336
- # trigger a restart on rack based systems
337
- queue! %[touch #{deploy_to}/current/tmp/restart.txt]
364
+ # write to the .htpasswd file
365
+ queue! %[touch #{deploy_to}/current/.htpasswd]
366
+ queue! %[echo "#{htpass}" > #{deploy_to}/current/.htpasswd]
367
+ else
338
368
 
339
- # handle apache and cron
369
+ # write the to the .haccess file
370
+ queue! %[touch #{deploy_to}/current/public/.htaccess]
371
+ clean = File.read("#{deploy_to}/current/public/.htaccess").gsub(/\n?## BONETHUG ##.+## END_BONETHUG ##\n?/m, '');
372
+ escaped = (clean.to_s).gsub(/"/, '\"')
373
+ queue! %[echo "#{escaped}" > #{deploy_to}/current/public/.htaccess]
374
+
375
+ end
376
+
377
+ # handle apache
340
378
  queue! %[a2ensite #{vhost}.conf]
341
379
  queue! %[/etc/init.d/apache2 reload]
380
+
381
+ # handle cron
342
382
  invoke :'whenever:update'
383
+ queue "echo \"\nPlease review the crontab below!!\n\n\""
384
+ queue 'crontab -l'
343
385
 
344
- # run chache flushes / manifest rebuilds
386
+ # run cache flushes / manifest rebuilds
345
387
  queue! %[export APPLICATION_ENV=#{env} && php #{deploy_to}/current/public/framework/cli-script.php dev/build] if ['silverstripe','silverstripe3'].include? deploy.get('project_type')
346
388
  queue! %[cd #{deploy_to}/current/lib && php flush_drupal_cache.php] if ['drupal','drupal6','drupal7','drupal8'].include? deploy.get('project_type')
347
389
 
@@ -350,7 +392,7 @@ task :deploy => :environment do
350
392
 
351
393
  # cleanup!
352
394
  invoke :'deploy:cleanup'
353
-
395
+
354
396
  end
355
397
  end
356
398
  end
data/config/schedule.rb CHANGED
File without changes
data/config/syncer.rb CHANGED
File without changes