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-06-24 04:50:25 -04:00
< div class = "top-bar" >
< a href = "/" class = "brand" >
< img src = "/images/CapistranoLogo.png" / >
< / a >
< / div >
< div class = "row" >
< div class = "large-4 columns" >
< ul class = "side-nav" >
< li > < a href = "http://www.harrow.io/" class = "advertisment" > < span class = "label label-important" > New< / span > Hosted Capistrano for Teams< / a > < / li >
< li class = "divider" > < / li >
< h5 > Overview< / h5 >
< li > < a href = "/documentation/overview/what-is-capistrano/" > What is Capistrano?< / a > < / li >
< li > < a href = "/documentation/overview/introductory-demo-video/" > Introductory Demo Video< / a > < / li >
< li class = "divider" > < / li >
< h5 > Getting Started< / h5 >
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 >
< li > < a href = "/documentation/getting-started/authentication-and-authorisation/" > Authentication & Authorisation< / a > < / li >
< li > < a href = "/documentation/getting-started/cold-start/" > Cold Start< / a > < / li >
< li > < a href = "/documentation/getting-started/rollbacks/" > Rollbacks< / 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 >
< li class = "divider" > < / li >
2013-06-24 04:50:25 -04:00
< h5 > Troubleshooting< / h5 >
2013-06-24 14:29:21 -04:00
< 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 >
< li > < a
2013-06-24 14:29:21 -04:00
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 >
2013-06-24 04:50:25 -04:00
< li class = "divider" > < / li >
< h5 > Power Use-Cases< / h5 >
2013-06-24 14:29:21 -04:00
< 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 >
< 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 >
< pre data-line = '' > < code class = 'language-ruby' > role :demo, %w{example.com example.org, example.net}
task :uptime do |host|
on :demo, in: :parallel do
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
language. Popular extensions add support for < em > Wordpress< / em > blogs as well as
< em > Symfony< / em > and < em > Node.js< / em > applications.< / p >
< p > If your language has special deployment requirements, Capistrano can easily be
extended to support them.< / p >
< h3 id = "toc_2" > Demo Video< / h3 >
< p > < video id = "demo" class = "video-js vjs-default-skin" controls preload = "auto" width = "640" height = "400" data-setup = "{}" >
< source src = "http://capistrano-screencasts.s3.amazonaws.com/Capistrano%20Introduction%20Video.mp4" type = 'video/mp4' >
< / video > < / p >
2013-06-30 07:30:03 -04:00
< h3 id = "toc_3" > Source Code< / h3 >
< 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 >
< pre data-line = '' > < code class = 'language-ruby' > role :demo, %w{example.com example.org, example.net}
task :uptime do |host|
on :demo, in: :parallel do
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
language. Popular extensions add support for < em > Wordpress< / em > blogs as well as
< em > Symfony< / em > and < em > Node.js< / em > applications.< / p >
< p > If your language has special deployment requirements, Capistrano can easily be
extended to support them.< / p >
< h3 id = "toc_2" > Demo Video< / h3 >
< p > < video id = "demo" class = "video-js vjs-default-skin" controls preload = "auto" width = "640" height = "400" data-setup = "{}" >
< source src = "http://capistrano-screencasts.s3.amazonaws.com/Capistrano%20Introduction%20Video.mp4" type = 'video/mp4' >
< / video > < / p >
2013-06-30 07:30:03 -04:00
< h3 id = "toc_3" > Source Code< / h3 >
< 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 >
< li > < a href = "/about" > About Capistrano< / a > < / li >
< li > < a href = "https://github.com/capistrano/capistrano/blob/master/CONTRIBUTING" > Contributing< / a > < / li >
< li > < a href = "https://rubygems.org/gems/capistrano/versions" > Releases< / a > < / li >
< li > < a href = "/upgrading" > Upgrading< / a > < / li >
< li > < a href = "/security" > Security< / 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 >
< li > < a href = ".... " > Commercial Support< / 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 >
< 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 >
< / body >
< / html >