Merge pull request #1574 from pkallberg/master

Cloud 66 EasyDeploy
This commit is contained in:
Sam 2013-10-27 22:35:24 -07:00
commit bdbc2f590f
2 changed files with 44 additions and 33 deletions

View File

@ -24,7 +24,7 @@ Before you get started, ensure you have the following minimum versions: [Ruby 1.
## Setting up a Discourse Forum ## Setting up a Discourse Forum
If you're not here to hack on the open source code, but rather looking to set up a Discourse forum in a production environment, see our [**Discourse Install Guide**](/docs/INSTALL-ubuntu.md). Be warned, however, that Discourse is still very much beta, and you will probably need a background as a developer or system administrator to set it up successfully. If you're not here to hack on the open source code, but rather looking to set up a Discourse forum in a production environment, see our [**Discourse Install Guide**](/docs/INSTALL-ubuntu.md). Be warned, however, that Discourse is still very much beta, and you will probably need a background as a developer or system administrator to set it up successfully. Alternatively, you can deploy in a matter of minutes through [**Cloud 66**](/docs/INSTALL-cloud66.md).
## Vision ## Vision

View File

@ -1,7 +1,7 @@
production: production:
first_thing: first_thing:
# 1. Permissions on postgres box # 1. Permissions on postgres box
- source: /.cloud66/scripts/permissions.sh - source: /config/cloud/cloud66/scripts/permissions.sh
destination: /tmp/scripts/permissions.sh destination: /tmp/scripts/permissions.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
@ -16,25 +16,29 @@ production:
owner: postgres owner: postgres
after_checkout: after_checkout:
# 3. Copy Procfile # 3. Copy Procfile
- source: /.cloud66/files/Procfile - source: /config/cloud/cloud66/files/Procfile
destination: <%= ENV['RAILS_STACK_PATH'] %>/Procfile destination: <%= ENV['RAILS_STACK_PATH'] %>/Procfile
target: rails target: rails
run_on: all_servers
# 4. Copy redis settings # 4. Copy redis settings
- source: /.cloud66/files/redis.yml - source: /config/cloud/cloud66/files/redis.yml
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/redis.yml destination: <%= ENV['RAILS_STACK_PATH'] %>/config/redis.yml
target: rails target: rails
parse: false parse: false
run_on: all_servers
# 5. Copy production.rb file # 5. Copy production.rb file
- source: /.cloud66/files/production.rb - source: /config/cloud/cloud66/files/production.rb
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/environments/production.rb destination: <%= ENV['RAILS_STACK_PATH'] %>/config/environments/production.rb
target: rails target: rails
run_on: all_servers
# 6. Move thin config to server # 6. Move thin config to server
- source: /.cloud66/files/thin.yml - source: /config/cloud/cloud66/files/thin.yml
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/thin.yml destination: <%= ENV['RAILS_STACK_PATH'] %>/config/thin.yml
target: rails target: rails
run_on: all_servers
after_rails: after_rails:
# 7. Set environment variables and allow PSQL user to access them # 7. Set environment variables and allow PSQL user to access them
- source: /.cloud66/scripts/env_vars.sh - source: /config/cloud/cloud66/scripts/env_vars.sh
destination: /tmp/scripts/env_vars.sh destination: /tmp/scripts/env_vars.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
@ -42,21 +46,21 @@ production:
sudo: true sudo: true
last_thing: last_thing:
# 8. KILL DB # 8. KILL DB
- source: /.cloud66/scripts/kill_db.sh - source: /config/cloud/cloud66/scripts/kill_db.sh
destination: /tmp/scripts/kill_db.sh destination: /tmp/scripts/kill_db.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 9. DB:DROP & DB:CREATE # 9. DB:DROP & DB:CREATE
- source: /.cloud66/scripts/drop_create.sh - source: /config/cloud/cloud66/scripts/drop_create.sh
destination: /tmp/scripts/drop_create.sh destination: /tmp/scripts/drop_create.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 10. Import database image # 10. Import database image
- source: /.cloud66/scripts/import_prod.sh - source: /config/cloud/cloud66/scripts/import_prod.sh
destination: /tmp/scripts/import_prod.sh destination: /tmp/scripts/import_prod.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
@ -64,14 +68,14 @@ production:
owner: postgres owner: postgres
run_as: postgres run_as: postgres
# 11. Migrate database # 11. Migrate database
- source: /.cloud66/scripts/migrate.sh - source: /config/cloud/cloud66/scripts/migrate.sh
destination: /tmp/migrate.sh destination: /tmp/migrate.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 12. Curl script # 12. Curl script
- source: /.cloud66/scripts/curl.sh - source: /config/cloud/cloud66/scripts/curl.sh
destination: /tmp/curl.sh destination: /tmp/curl.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
@ -80,7 +84,7 @@ production:
staging: staging:
first_thing: first_thing:
# 1. Permissions on postgres box # 1. Permissions on postgres box
- source: /.cloud66/scripts/permissions.sh - source: /config/cloud/cloud66/scripts/permissions.sh
destination: /tmp/scripts/permissions.sh destination: /tmp/scripts/permissions.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
@ -95,25 +99,29 @@ staging:
owner: postgres owner: postgres
after_checkout: after_checkout:
# 3. Copy Procfile # 3. Copy Procfile
- source: /.cloud66/files/Procfile - source: /config/cloud/cloud66/files/Procfile
destination: <%= ENV['RAILS_STACK_PATH'] %>/Procfile destination: <%= ENV['RAILS_STACK_PATH'] %>/Procfile
target: rails target: rails
run_on: all_servers
# 4. Rename redis.yml.sample file # 4. Rename redis.yml.sample file
- source: /.cloud66/files/redis.yml - source: /config/cloud/cloud66/files/redis.yml
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/redis.yml destination: <%= ENV['RAILS_STACK_PATH'] %>/config/redis.yml
target: rails target: rails
parse: false parse: false
run_on: all_servers
# 5. Rename production.rb.sample file # 5. Rename production.rb.sample file
- source: /.cloud66/files/production.rb - source: /config/cloud/cloud66/files/production.rb
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/environments/production.rb destination: <%= ENV['RAILS_STACK_PATH'] %>/config/environments/production.rb
target: rails target: rails
run_on: all_servers
# 6. Move thin config to server # 6. Move thin config to server
- source: /.cloud66/files/thin.yml - source: /config/cloud/cloud66/files/thin.yml
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/thin.yml destination: <%= ENV['RAILS_STACK_PATH'] %>/config/thin.yml
target: rails target: rails
run_on: all_servers
after_rails: after_rails:
# 7. Set environment variables and allow PSQL user to access them # 7. Set environment variables and allow PSQL user to access them
- source: /.cloud66/scripts/env_vars.sh - source: /config/cloud/cloud66/scripts/env_vars.sh
destination: /tmp/scripts/env_vars.sh destination: /tmp/scripts/env_vars.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
@ -121,21 +129,21 @@ staging:
sudo: true sudo: true
last_thing: last_thing:
# 8. KILL DB # 8. KILL DB
- source: /.cloud66/scripts/kill_db.sh - source: /config/cloud/cloud66/scripts/kill_db.sh
destination: /tmp/scripts/kill_db.sh destination: /tmp/scripts/kill_db.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 9. DB:DROP & DB:CREATE # 9. DB:DROP & DB:CREATE
- source: /.cloud66/scripts/drop_create.sh - source: /config/cloud/cloud66/scripts/drop_create.sh
destination: /tmp/scripts/drop_create.sh destination: /tmp/scripts/drop_create.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 10. Import database image # 10. Import database image
- source: /.cloud66/scripts/import_prod.sh - source: /config/cloud/cloud66/scripts/import_prod.sh
destination: /tmp/scripts/import_prod.sh destination: /tmp/scripts/import_prod.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
@ -143,14 +151,14 @@ staging:
owner: postgres owner: postgres
run_as: postgres run_as: postgres
# 11. Migrate database # 11. Migrate database
- source: /.cloud66/scripts/migrate.sh - source: /config/cloud/cloud66/scripts/migrate.sh
destination: /tmp/migrate.sh destination: /tmp/migrate.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 12. Curl script # 12. Curl script
- source: /.cloud66/scripts/curl.sh - source: /config/cloud/cloud66/scripts/curl.sh
destination: /tmp/curl.sh destination: /tmp/curl.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
@ -159,7 +167,7 @@ staging:
development: development:
first_thing: first_thing:
# 1. Permissions on postgres box # 1. Permissions on postgres box
- source: /.cloud66/scripts/permissions.sh - source: /config/cloud/cloud66/scripts/permissions.sh
destination: /tmp/scripts/permissions.sh destination: /tmp/scripts/permissions.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
@ -174,21 +182,24 @@ development:
owner: postgres owner: postgres
after_checkout: after_checkout:
# 3. Copy Procfile # 3. Copy Procfile
- source: /.cloud66/files/Procfile - source: /config/cloud/cloud66/files/Procfile
destination: <%= ENV['RAILS_STACK_PATH'] %>/Procfile destination: <%= ENV['RAILS_STACK_PATH'] %>/Procfile
target: rails target: rails
run_on: all_servers
# 4. Rename redis.yml.sample file # 4. Rename redis.yml.sample file
- source: /.cloud66/files/redis.yml - source: /config/cloud/cloud66/files/redis.yml
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/redis.yml destination: <%= ENV['RAILS_STACK_PATH'] %>/config/redis.yml
target: rails target: rails
parse: false parse: false
run_on: all_servers
# 5. Move thin config to server # 5. Move thin config to server
- source: /.cloud66/files/thin.yml - source: /config/cloud/cloud66/files/thin.yml
destination: <%= ENV['RAILS_STACK_PATH'] %>/config/thin.yml destination: <%= ENV['RAILS_STACK_PATH'] %>/config/thin.yml
target: rails target: rails
run_on: all_servers
after_rails: after_rails:
# 6. Set environment variables and allow PSQL user to access them # 6. Set environment variables and allow PSQL user to access them
- source: /.cloud66/scripts/env_vars.sh - source: /config/cloud/cloud66/scripts/env_vars.sh
destination: /tmp/scripts/env_vars.sh destination: /tmp/scripts/env_vars.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
@ -196,21 +207,21 @@ development:
sudo: true sudo: true
last_thing: last_thing:
# 7. KILL DB # 7. KILL DB
- source: /.cloud66/scripts/kill_db.sh - source: /config/cloud/cloud66/scripts/kill_db.sh
destination: /tmp/scripts/kill_db.sh destination: /tmp/scripts/kill_db.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 8. DB:DROP & DB:CREATE # 8. DB:DROP & DB:CREATE
- source: /.cloud66/scripts/drop_create.sh - source: /config/cloud/cloud66/scripts/drop_create.sh
destination: /tmp/scripts/drop_create.sh destination: /tmp/scripts/drop_create.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 9. Import database image # 9. Import database image
- source: /.cloud66/scripts/import_dev.sh - source: /config/cloud/cloud66/scripts/import_dev.sh
destination: /tmp/scripts/import_dev.sh destination: /tmp/scripts/import_dev.sh
target: postgresql target: postgresql
apply_during: build_only apply_during: build_only
@ -218,14 +229,14 @@ development:
owner: postgres owner: postgres
run_as: postgres run_as: postgres
# 10. Migrate database # 10. Migrate database
- source: /.cloud66/scripts/migrate.sh - source: /config/cloud/cloud66/scripts/migrate.sh
destination: /tmp/migrate.sh destination: /tmp/migrate.sh
target: rails target: rails
apply_during: build_only apply_during: build_only
execute: true execute: true
sudo: true sudo: true
# 11. Curl script # 11. Curl script
- source: /.cloud66/scripts/curl.sh - source: /config/cloud/cloud66/scripts/curl.sh
destination: /tmp/curl.sh destination: /tmp/curl.sh
target: rails target: rails
apply_during: build_only apply_during: build_only