Sha256: dbee1430d5701db1b05c5d84223e8adcee18e5737d143c3534fcb9de5ece9e70
Contents?: true
Size: 1.85 KB
Versions: 1
Compression:
Stored size: 1.85 KB
Contents
# Capistrano::SafeDeployTo A simple Capistrano plugin that: - ensures the deployment directory exists on the server - ensures proper deployment directory ownership With this, your deployment should **never fail** because you forgot to create a deployment directory for your new app on the server. Works with Capistrano 3. Does **not work** with Capistrano 2. ### About You set a Capistrano deployment directory with a `deploy_to` setting. By default the value of `deploy_to` is `"/var/www/#{app_name}"`. Your first deploy will **fail** if the `deploy_to` directory does not exist, you're not deploying as `root` and your deploy user does not have rights to create a deploy directory. And yes, deployment to default `deploy_to` directory **will most likely fail**. That is easy to fix, right? A quick: - `ssh yourserver` - `sudo mkdir -p /var/www/app_name` - `sudo chown deploy:deploy /var/www/app_name` Except that is painful, unnecessary and I refuse to manually `ssh` to the server to deploy apps! There are other solutions to this problem (Chef, Ansible), but if you'd like to solve it via Capistrano, read on. ### Usage Install with: gem 'capistrano', '~> 3.1' gem 'capistrano-safe-deploy-to' then: $ bundle install and then add to `Capfile`: require 'capistrano/safe_deploy_to' And you're done. `$ bundle exec cap production deploy` should just work! (or at least it won't fail because directories don't exist). There are no configuration options (thank God!) ### How it works `capistrano-safe-deploy-to` hooks to `before 'deploy:check'` task. It: 1. creates s `deploy_to` directory with `sudo mkdir -p <your_deploy_dir>` 2. gives proper ownership to deploy dir with `sudo chown <deploy_user>:<deploy_user_group> <your_deploy_dir>` It's simple, but you don't have to do or think about it. Let the computers slave for you! ### License [MIT](LICENSE.md)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
capistrano-safe-deploy-to-1.0.0 | README.md |