2013-06-24 04:50:25 -04:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > A remote server automation and deployment tool written in Ruby.< / title >
< link href = 'http://fonts.googleapis.com/css?family=Enriqueta' rel = 'stylesheet' type = 'text/css' >
< script type = "text/javascript" src = "//use.typekit.net/itm5ubu.js" > < / script >
< script type = "text/javascript" > try { Typekit . load ( ) ; } catch ( e ) { } < / script >
< link rel = "stylesheet" href = "/css/foundation.css" / >
< link rel = "stylesheet" href = "/css/capistrano.css" >
< link rel = "stylesheet" href = "/css/social_foundicons.css" / >
< link rel = "stylesheet" href = "/css/okaidia.css" >
< script src = "/js/vendor/custom.modernizr.js" > < / script >
< / head >
< body >
2013-06-24 14:29:21 -04:00
< script type = "text/javascript" >
var _gauges = _gauges || [];
(function() {
var t = document.createElement('script');
t.type = 'text/javascript';
t.async = true;
t.id = 'gauges-tracker';
t.setAttribute('data-site-id', '51c83c32613f5d7df70000bc');
t.src = '//secure.gaug.es/track.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(t, s);
})();
< / script >
< script type = "text/javascript" >
setTimeout(function(){var a=document.createElement("script");
var b=document.getElementsByTagName("script")[0];
a.src=document.location.protocol+"//dnn506yrbagrg.cloudfront.net/pages/scripts/0017/6418.js?"+Math.floor(new Date().getTime()/3600000);
a.async=true;a.type="text/javascript";b.parentNode.insertBefore(a,b)}, 1);
< / script >
< script >
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-41970098-1', 'capistranorb.com');
ga('send', 'pageview');
< / script >
2013-07-30 05:04:05 -04:00
< div class = "header" >
< div class = "row" >
< div class = "large-12 column" >
< a href = "/" class = "brand" >
< img src = "/images/CapistranoLogo.png" / >
< / a >
< / div >
< / div >
2013-06-24 04:50:25 -04:00
< / div >
< div class = "row" >
< div class = "large-4 columns" >
< ul class = "side-nav" >
2013-06-30 15:34:03 -04:00
< li > < a href = "https://www.harrow.io/" class = "advertisment" > < span class = "label label-important" > New< / span > Hosted Capistrano for Teams< / a > < / li >
2013-06-24 04:50:25 -04:00
< li class = "divider" > < / li >
< h5 > Overview< / h5 >
< li > < a href = "/documentation/overview/what-is-capistrano/" > What is Capistrano?< / a > < / li >
2013-06-30 08:23:14 -04:00
<!-- <li><a href="/documentation/overview/introductory - demo - video/">Introductory Demo Video</a></li> -->
2013-06-24 04:50:25 -04:00
< li class = "divider" > < / li >
< h5 > Getting Started< / h5 >
2013-10-08 22:10:31 -04:00
< li > < a href = "https://github.com/capistrano/capistrano/blob/master/README.md" > The Readme, start here!< / a > < / li >
2013-06-24 14:29:21 -04:00
< li > < a href = "/documentation/getting-started/installation/" > Installation< / a > < / li >
< li > < a href = "/documentation/getting-started/preparing-your-application/" > Preparing Your Application< / a > < / li >
2014-01-01 19:00:35 -05:00
< li > < a href = "/documentation/getting-started/authentication-and-authorisation/" > Authentication & Authorisation< / a > < / li >
2013-06-24 14:29:21 -04:00
< li > < a href = "/documentation/getting-started/cold-start/" > Cold Start< / a > < / li >
2013-07-14 14:43:45 -04:00
< li > < a href = "/documentation/getting-started/flow/" > Flow< / a > < / li >
2013-06-24 14:29:21 -04:00
< li > < a href = "/documentation/getting-started/rollbacks/" > Rollbacks< / a > < / li >
2013-12-28 04:30:24 -05:00
< li class = "divider" > < / li >
< h5 > Advanced Features< / h5 >
2014-01-01 19:00:35 -05:00
< li > < a href = "/documentation/advanced-features/ssh-kit" > Remote commands with SSHKit< / li >
2013-12-28 04:30:24 -05:00
< li > < a href = "/documentation/advanced-features/remote-file/" > Remote file task< / a > < / li >
< li > < a href = "/documentation/advanced-features/role-filtering/" > Role filtering< / a > < / li >
2014-01-01 19:00:35 -05:00
< li > < a href = "/documentation/advanced-features/host-filtering/" > Host filtering< / a > < / li >
2013-12-28 04:30:24 -05:00
< li > < a href = "/documentation/advanced-features/capistrano-pure-ruby/" > Using Capistrano from pure Ruby< / a > < / li >
2013-06-24 04:50:25 -04:00
< li class = "divider" > < / li >
2013-06-30 07:30:03 -04:00
< h5 > Framework Extensions< / h5 >
< li > < a href = "/documentation/frameworks/ruby-on-rails/" > Ruby on Rails< / a > < / li >
2013-08-22 16:46:55 -04:00
< li > < a href = "/documentation/frameworks/bundler/" > Bundler< / a > < / li >
< li > < a href = "/documentation/frameworks/rbenv-rvm-chruby/" > Rbenv & RVM & chruby< / a > < / li >
2013-06-30 08:23:14 -04:00
<!-- <li class="divider"></li> -->
<!-- <h5>Troubleshooting</h5> -->
<!-- <li><a href="/documentation/troubleshooting/authentication/">SCM (Git) Authentication</a></li> -->
<!-- <li><a href="/documentation/troubleshooting/connectivity/">Connectivity</a></li> -->
<!-- [><li><a href="/documentation/troubleshooting/gateway - servers/">Gateway Servers</a></li><] -->
<!-- <li><a href="/documentation/troubleshooting/agent - forwarding/">Agent Forwarding</a></li> -->
<!-- <li><a href="/documentation/troubleshooting/sudo - password/">`sudo` Password</a></li> -->
<!-- <li><a href="/documentation/troubleshooting/rvm - rbenv - nvm/">RVM, `rbenv` And `nvm`</a></li> -->
2013-06-24 04:50:25 -04:00
< li class = "divider" > < / li >
< h5 > FAQ< / h5 >
2013-06-30 11:26:18 -04:00
< li > < a href = "/documentation/faq/why-does-something-work-in-my-ssh-session-but-not-in-capistrano/" > Why Does Something Work In An SSH Session, But Not In Capistrano?< / a > < / li >
<!-- <li><a href="/documentation/faq/should - i - use - capistrano - to - provision - my - servers/">Should I Use Capistrano To Provision My Servers?</a></li> -->
< li > < a href = "http://lee.hambley.name/2013/06/11/using-capistrano-v3-with-chef.html" > Should I Use Capistrano To Provision My Servers?< / a > < / li >
<!-- <li class="divider"></li> -->
<!-- <h5>Power Use - Cases</h5> -->
<!-- <li><a href="/documentation/power - use - cases/integration - with - rake/">Integration With Rake</a></li> -->
<!-- <li><a href="/documentation/power - use - cases/driving - tools - such - as - chef - solo/">Driving Tools Such As <em>Chef Solo</em></a></li> -->
2013-06-24 04:50:25 -04:00
< li class = "divider" > < / li >
2013-07-02 05:09:53 -04:00
< h5 > Legacy Documentation< / h5 >
< li > < a href = "https://github.com/capistrano/capistrano/wiki" > Capistrano
v2< / a > < / li >
< li class = "divider" > < / li >
2013-06-24 04:50:25 -04:00
< h5 > Recent Announcements< / h5 >
< li > < a href = "/2013/06/01/release-announcement.html" > < span class = "post-date" > 01 Jun 2013< / span > Capistrano Version 3 Release Announcement< / a > < / li >
< / ul >
< / div >
< div class = "large-8 column" >
< div class = "content" >
< h2 > A remote server automation and deployment tool written in Ruby.< / h2 >
< h3 id = "toc_0" > A Simple Task< / h3 >
< div >
2013-07-09 03:50:20 -04:00
< pre data-line = '' > < code class = 'language-ruby' > role :demo, %w{example.com example.org example.net}
2013-06-24 04:50:25 -04:00
task :uptime do |host|
2013-06-30 08:23:14 -04:00
on roles(:demo), in: :parallel do
2013-06-24 04:50:25 -04:00
uptime = capture(:uptime)
puts " #{host.hostname} reports: #{uptime}"
end
end< / code > < / pre >
< / div >
< p > Capistrano extends the < em > Rake< / em > DSL with methods specific to running commands
< code > on()< / code > servers.< / p >
< h3 id = "toc_1" > For Any Language< / h3 >
< p > Capistrano is written in Ruby, but it can easily be used to deploy any
2013-06-30 08:23:14 -04:00
language.< / p >
2013-06-24 04:50:25 -04:00
2013-06-30 08:23:14 -04:00
< p > If your language or framework has special deployment requirements, Capistrano can easily be
2013-06-24 04:50:25 -04:00
extended to support them.< / p >
2013-06-30 11:26:18 -04:00
< h3 id = "toc_2" > Source Code< / h3 >
2013-06-30 07:30:03 -04:00
< div class = "github-widget" data-repo = "capistrano/capistrano" > < / div >
< div class = "github-widget" data-repo = "capistrano/rails" > < / div >
< div class = "github-widget" data-repo = "capistrano/documentation" > < / div >
2013-06-24 04:50:25 -04:00
< / div >
< / div >
< / div >
<!-- <div class="container"> -->
<!-- <h1 class="title"><a href="/">Capistrano</a></h1> -->
<!-- <a class="extra" href="/">home</a> -->
<!-- </div> -->
<!-- <h3 id="toc_0">A Simple Task</h3>
< div >
2013-07-09 03:50:20 -04:00
< pre data-line = '' > < code class = 'language-ruby' > role :demo, %w{example.com example.org example.net}
2013-06-24 04:50:25 -04:00
task :uptime do |host|
2013-06-30 08:23:14 -04:00
on roles(:demo), in: :parallel do
2013-06-24 04:50:25 -04:00
uptime = capture(:uptime)
puts " #{host.hostname} reports: #{uptime}"
end
end< / code > < / pre >
< / div >
< p > Capistrano extends the < em > Rake< / em > DSL with methods specific to running commands
< code > on()< / code > servers.< / p >
< h3 id = "toc_1" > For Any Language< / h3 >
< p > Capistrano is written in Ruby, but it can easily be used to deploy any
2013-06-30 08:23:14 -04:00
language.< / p >
2013-06-24 04:50:25 -04:00
2013-06-30 08:23:14 -04:00
< p > If your language or framework has special deployment requirements, Capistrano can easily be
2013-06-24 04:50:25 -04:00
extended to support them.< / p >
2013-06-30 11:26:18 -04:00
< h3 id = "toc_2" > Source Code< / h3 >
2013-06-30 07:30:03 -04:00
< div class = "github-widget" data-repo = "capistrano/capistrano" > < / div >
< div class = "github-widget" data-repo = "capistrano/rails" > < / div >
< div class = "github-widget" data-repo = "capistrano/documentation" > < / div >
2013-06-24 04:50:25 -04:00
-->
<!-- </div> [> /container <] -->
2013-06-25 13:32:05 -04:00
< footer >
2013-06-24 04:50:25 -04:00
< div class = "row" >
2013-06-25 13:32:05 -04:00
< div class = "large-4 columns" >
< ul >
2014-01-01 19:00:35 -05:00
< li > < a href = "/documentation/overview/what-is-capistrano/" > About Capistrano< / a > < / li >
< li > < a href = "https://github.com/capistrano/capistrano/blob/master/CONTRIBUTING.md" > Contributing< / a > < / li >
2013-06-25 13:32:05 -04:00
< li > < a href = "https://rubygems.org/gems/capistrano/versions" > Releases< / a > < / li >
< / ul >
< / div >
2013-06-24 04:50:25 -04:00
2013-06-25 13:32:05 -04:00
< div class = "large-4 columns" >
< ul >
< li > < a href = "http://stackoverflow.com/questions/tagged/capistrano" > StackOverflow< / a > < / li >
< li > < a href = "https://groups.google.com/forum/#!forum/capistrano" > Mailing List< / a > < / li >
< / ul >
< / div >
2013-06-24 04:50:25 -04:00
2013-06-25 13:32:05 -04:00
< div class = "large-4 columns" >
< ul class = "social icons" >
< li > < a href = "//twitter.com/capistranorb" > < i class = "foundicon-twitter" > < / i > < / a > < / li >
< li > < a href = "//github.com/capistrano" > < i class = "foundicon-github" > < / i > < / a > < / li >
< / ul >
< / div >
2013-06-24 04:50:25 -04:00
< / div >
2013-06-25 13:32:05 -04:00
< / footer >
2013-06-24 04:50:25 -04:00
2013-06-30 07:30:03 -04:00
< script src = "//ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" > < / script >
2013-06-30 08:23:14 -04:00
< script >
if (!window.jQuery) {
document.write('< script src = "/js/jquery-1.7.min" > < \ / s c r i p t > ' ) ;
}
< / script >
2013-06-30 07:30:03 -04:00
< script src = "/js/jquery.githubRepoWidget.min.js" > < / script >
2013-06-24 04:50:25 -04:00
< script src = "/js/prism.js" > < / script >
< script src = "/js/prism.ruby.js" > < / script >
2013-08-22 14:32:45 -04:00
< a href = "https://github.com/capistrano/documentation" > < img style = "position: absolute; top: 0; right: 0; border: 0;" src = "https://s3.amazonaws.com/github/ribbons/forkme_right_white_ffffff.png" alt = "Fork me on GitHub" > < / a >
2013-06-24 04:50:25 -04:00
< / body >
< / html >