2013-02-01 04:19:14 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
# Capistrano: A deployment automation tool built on Ruby, Rake, and SSH.
2013-06-07 11:45:39 -04:00
2022-01-09 14:21:33 -05:00
[![Gem Version ](https://badge.fury.io/rb/capistrano.svg )](http://badge.fury.io/rb/capistrano) [![Build Status ](https://circleci.com/gh/capistrano/capistrano/tree/master.svg?style=shield )](https://app.circleci.com/pipelines/github/capistrano/capistrano?branch=master) [![Code Climate ](https://codeclimate.com/github/capistrano/capistrano/badges/gpa.svg )](https://codeclimate.com/github/capistrano/capistrano) [![CodersClan ](https://img.shields.io/badge/get-support-blue.svg )](http://codersclan.net/?repo_id=325& source=small)
2013-06-07 11:45:39 -04:00
2016-07-03 22:10:48 -04:00
Capistrano is a framework for building automated deployment scripts. Although Capistrano itself is written in Ruby, it can easily be used to deploy projects of any language or framework, be it Rails, Java, or PHP.
2014-01-14 14:58:26 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Once installed, Capistrano gives you a `cap` tool to perform your deployments from the comfort of your command line.
2014-01-14 14:58:26 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
```
$ cd my-capistrano-enabled-project
$ cap production deploy
```
2016-01-17 15:58:08 -05:00
When you run `cap` , Capistrano dutifully connects to your server(s) via SSH and executes the steps necessary to deploy your project. You can define those steps yourself by writing [Rake ](https://github.com/ruby/rake ) tasks, or by using pre-built task libraries provided by the Capistrano community.
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Tasks are simple to make. Here's an example:
```ruby
2016-01-17 15:58:08 -05:00
task :restart_sidekiq do
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
on roles(:worker) do
execute :service, "sidekiq restart"
end
end
after "deploy:published", "restart_sidekiq"
```
2016-04-16 01:58:51 -04:00
*Note: This documentation is for the current version of Capistrano (3.x). If you are looking for Capistrano 2.x documentation, you can find it in [this archive ](https://github.com/capistrano/capistrano-2.x-docs ).*
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
---
## Contents
* [Features ](#features )
* [Gotchas ](#gotchas )
* [Quick start ](#quick-start )
* [Finding help and documentation ](#finding-help-and-documentation )
* [How to contribute ](#how-to-contribute )
* [License ](#license )
## Features
There are many ways to automate deployments, from simple rsync bash scripts to complex containerized toolchains. Capistrano sits somewhere in the middle: it automates what you already know how to do manually with SSH, but in a repeatable, scalable fashion. There is no magic here!
Here's what makes Capistrano great:
#### Strong conventions
Capistrano defines a standard deployment process that all Capistrano-enabled projects follow by default. You don't have to decide how to structure your scripts, where deployed files should be placed on the server, or how to perform common tasks: Capistrano has done this work for you.
#### Multiple stages
Define your deployment once, and then easily parameterize it for multiple *stages* (environments), e.g. `qa` , `staging` , and `production` . No copy-and-paste necessary: you only need to specify what is different for each stage, like IP addresses.
#### Parallel execution
Deploying to a fleet of app servers? Capistrano can run each deployment task concurrently across those servers and uses connection pooling for speed.
#### Server roles
2016-10-16 23:55:43 -04:00
Your application may need many different types of servers: a database server, an app server, two web servers, and a job queue work server, for example. Capistrano lets you tag each server with one or more roles, so you can control what tasks are executed where.
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
#### Community driven
Capistrano is easily extensible using the rubygems package manager. Deploying a Rails app? Wordpress? Laravel? Chances are, someone has already written Capistrano tasks for your framework of choice and has distributed it as a gem. Many Ruby projects also come with Capistrano tasks built-in.
2015-01-18 09:41:22 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
#### It's just SSH
2015-01-18 09:41:22 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Everything in Capistrano comes down to running SSH commands on remote servers. On the one hand, that makes Capistrano simple. On the other hand, if you aren't comfortable SSH-ing into a Linux box and doing stuff on the command-line, then Capistrano is probably not for you.
2015-01-18 09:41:22 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
## Gotchas
2014-01-14 14:58:26 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
While Capistrano ships with a strong set of conventions that are common for all types of deployments, it needs help understanding the specifics of your project, and there are some things Capistrano is not suited to do.
2015-01-18 09:41:22 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
#### Project specifics
2014-01-14 14:58:26 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Out of the box, Capistrano can deploy your code to server(s), but it does not know how to *execute* your code. Does `foreman` need to be run? Does Apache need to be restarted? You'll need to tell Capistrano how to do this part by writing these deployment steps yourself, or by finding a gem in the Capistrano community that does it for you.
2013-02-01 04:19:14 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
#### Key-based SSH
Capistrano depends on connecting to your server(s) with SSH using key-based (i.e. password-less) authentication. You'll need this working before you can use Capistrano.
#### Provisioning
Likewise, your server(s) will likely need supporting software installed before you can perform a deployment. Capistrano itself has no requirements other than SSH, but your application probably needs database software, a web server like Apache or Nginx, and a language runtime like Java, Ruby, or PHP. These *server provisioning* steps are not done by Capistrano.
#### `sudo`, etc.
Capistrano is designed to deploy using a single, non-privileged SSH user, using a *non-interactive* SSH session. If your deployment requires `sudo` , interactive prompts, authenticating as one user but running commands as another, you can probably accomplish this with Capistrano, but it may be difficult. Your automated deployments will be much smoother if you can avoid such requirements.
2017-10-11 08:25:08 -04:00
#### Shells
Capistrano 3 expects a POSIX shell like Bash or Sh. Shells like tcsh, csh, and such may work, but probably will not.
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
## Quick start
### Requirements
2016-02-11 17:42:30 -05:00
* Ruby version 2.0 or higher on your local machine (MRI or Rubinius)
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
* A project that uses source control (Git, Mercurial, and Subversion support is built-in)
* The SCM binaries (e.g. `git` , `hg` ) needed to check out your project must be installed on the server(s) you are deploying to
* [Bundler ](http://bundler.io ), along with a Gemfile for your project, are recommended
### Install the Capistrano gem
2018-02-01 00:41:03 -05:00
Add Capistrano to your project's Gemfile using `require: false` :
2013-02-01 04:19:14 -05:00
2013-05-28 13:00:13 -04:00
``` ruby
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
group :development do
2022-03-12 16:44:37 -05:00
gem "capistrano", "~> 3.17", require: false
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
end
2013-05-28 13:00:13 -04:00
```
2013-02-01 04:19:14 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Then run Bundler to ensure Capistrano is downloaded and installed:
2013-02-01 04:19:14 -05:00
2013-10-11 20:38:38 -04:00
``` sh
2013-10-22 02:50:45 -04:00
$ bundle install
2013-05-28 13:00:13 -04:00
```
2013-02-01 04:19:14 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
### "Capify" your project
Make sure your project doesn't already have a "Capfile" or "capfile" present. Then run:
2013-10-11 20:38:38 -04:00
``` sh
2013-10-22 02:50:45 -04:00
$ bundle exec cap install
2013-05-28 13:00:13 -04:00
```
2013-02-08 06:15:27 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
This creates all the necessary configuration files and directory structure for a Capistrano-enabled project with two stages, `staging` and `production` :
2013-02-08 06:15:27 -05:00
2013-05-28 13:00:13 -04:00
```
├── Capfile
├── config
│ ├── deploy
│ │ ├── production.rb
│ │ └── staging.rb
│ └── deploy.rb
└── lib
└── capistrano
└── tasks
```
2013-02-08 06:15:27 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
To customize the stages that are created, use:
2013-02-08 06:15:27 -05:00
2013-10-11 20:38:38 -04:00
``` sh
2013-10-22 02:50:45 -04:00
$ bundle exec cap install STAGES=local,sandbox,qa,production
2013-05-28 13:00:13 -04:00
```
2013-02-01 04:19:14 -05:00
2016-10-09 13:01:50 -04:00
Note that the files that Capistrano creates are simply templates to get you started. Make sure to edit the `deploy.rb` and stage files so that they contain values appropriate for your project and your target servers.
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
### Command-line usage
2013-02-01 04:19:14 -05:00
2013-10-11 20:38:38 -04:00
``` sh
2015-01-18 09:41:22 -05:00
# list all available tasks
2014-04-21 18:47:32 -04:00
$ bundle exec cap -T
2013-03-10 16:43:39 -04:00
2015-01-18 09:41:22 -05:00
# deploy to the staging environment
2013-10-22 02:50:45 -04:00
$ bundle exec cap staging deploy
2015-01-18 09:41:22 -05:00
# deploy to the production environment
2013-10-22 02:50:45 -04:00
$ bundle exec cap production deploy
2013-03-15 07:35:49 -04:00
2015-01-18 09:41:22 -05:00
# simulate deploying to the production environment
# does not actually do anything
2013-10-22 02:50:45 -04:00
$ bundle exec cap production deploy --dry-run
2013-03-08 10:55:29 -05:00
2015-01-18 09:41:22 -05:00
# list task dependencies
$ bundle exec cap production deploy --prereqs
2013-06-13 11:23:34 -04:00
2015-01-18 09:41:22 -05:00
# trace through task invocations
$ bundle exec cap production deploy --trace
2016-01-26 17:28:45 -05:00
# lists all config variable before deployment tasks
$ bundle exec cap production deploy --print-config-variables
2013-06-13 11:23:34 -04:00
```
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
## Finding help and documentation
2014-11-17 15:19:56 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Capistrano is a large project encompassing multiple GitHub repositories and a community of plugins, and it can be overwhelming when you are just getting started. Here are resources that can help:
2013-06-30 11:33:59 -04:00
2016-09-09 18:47:07 -04:00
* **The [docs ](docs ) directory contains the official documentation**, and is used to generate the [Capistrano website ](http://capistranorb.com )
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
* [Stack Overflow ](http://stackoverflow.com/questions/tagged/capistrano ) has a Capistrano tag with lots of activity
* [The Capistrano mailing list ](https://groups.google.com/forum/#!forum/capistrano ) is low-traffic but is monitored by Capistrano contributors
* [CodersClan ](http://codersclan.net/?repo_id=325&source=link ) has Capistrano experts available to solve problems for bounties
2014-04-22 11:36:44 -04:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Related GitHub repositories:
2014-04-22 11:36:44 -04:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
* [capistrano/sshkit ](https://github.com/capistrano/sshkit ) provides the SSH behavior that underlies Capistrano (when you use `execute` in a Capistrano task, you are using SSHKit)
* [capistrano/rails ](https://github.com/capistrano/rails ) is a very popular gem that adds Ruby on Rails deployment tasks
2016-02-25 11:11:04 -05:00
* [mattbrictson/airbrussh ](https://github.com/mattbrictson/airbrussh ) provides Capistrano's default log formatting
2014-04-22 11:36:44 -04:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
GitHub issues are for bug reports and feature requests. Please refer to the [CONTRIBUTING ](CONTRIBUTING.md ) document for guidelines on submitting GitHub issues.
2014-04-22 11:36:44 -04:00
2017-06-18 23:51:57 -04:00
If you think you may have discovered a security vulnerability in Capistrano, do not open a GitHub issue. Instead, please send a report to < security @ capistranorb . com > .
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
## How to contribute
2015-01-18 09:41:22 -05:00
Rewrite the README!
While Capistrano does have official documentation on its website, I feel that
we still need a comprehensive README. (In fact, the website instructs readers to
read the README first.)
My goal here was to do a better job of explaining what exactly Capistrano is,
why you should use it (there are many options out there for deployment
automation, after all), and also importantly, what Capistrano does *not* do.
I also tried to make a more helpful "documentation and help" section, and I
removed contribution and testing instructions that are better covered in the new
CONTRIBUTION and DEVELOPMENT docs.
Finally, I removed the section about "Validation of variables", which seemed out
of place in the README. I think this is more appropriate for the documentation
website, since it is a pretty low-level feature.
2016-01-16 20:51:51 -05:00
Contributions to Capistrano, in the form of code, documentation or idea, are gladly accepted. Read the [DEVELOPMENT ](DEVELOPMENT.md ) document to learn how to hack on Capistrano's code, run the tests, and contribute your first pull request.
2015-01-18 09:41:22 -05:00
2014-03-03 21:18:49 -05:00
## License
2013-06-30 11:33:59 -04:00
2014-03-03 21:18:49 -05:00
MIT License (MIT)
2013-10-16 04:16:06 -04:00
2020-01-05 12:41:31 -05:00
Copyright (c) 2012-2020 Tom Clements, Lee Hambley
2013-10-16 04:16:06 -04:00
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.