835
456
+ 1
232

What is Capistrano?

Capistrano is a remote server automation tool. It supports the scripting and execution of arbitrary tasks, and includes a set of sane-default deployment workflows.
Capistrano is a tool in the Server Configuration and Automation category of a tech stack.
Capistrano is an open source tool with 11.2K GitHub stars and 1.7K GitHub forks. Here’s a link to Capistrano's open source repository on GitHub

Who uses Capistrano?

Companies
359 companies reportedly use Capistrano in their tech stacks, including Typeform, New Relic, and Web Site - MovieLaLa.com.

Developers
449 developers on StackShare have stated that they use Capistrano.

Capistrano Integrations

Datadog, Rollbar, Codeship, Flowdock, and Bigpanda are some of the popular tools that integrate with Capistrano. Here's a list of all 6 tools that integrate with Capistrano.

Why developers like Capistrano?

Here’s a list of reasons why companies and developers use Capistrano
Capistrano Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Capistrano in their tech stack.

Julien DeFrance
Julien DeFrance
Full Stack Engineering Manager at ValiMail · | 16 upvotes · 172.5K views
atSmartZipSmartZip
Amazon DynamoDB
Amazon DynamoDB
Ruby
Ruby
Node.js
Node.js
AWS Lambda
AWS Lambda
New Relic
New Relic
Amazon Elasticsearch Service
Amazon Elasticsearch Service
Elasticsearch
Elasticsearch
Superset
Superset
Amazon Quicksight
Amazon Quicksight
Amazon Redshift
Amazon Redshift
Zapier
Zapier
Segment
Segment
Amazon CloudFront
Amazon CloudFront
Memcached
Memcached
Amazon ElastiCache
Amazon ElastiCache
Amazon RDS for Aurora
Amazon RDS for Aurora
MySQL
MySQL
Amazon RDS
Amazon RDS
Amazon S3
Amazon S3
Docker
Docker
Capistrano
Capistrano
AWS Elastic Beanstalk
AWS Elastic Beanstalk
Rails API
Rails API
Rails
Rails
Algolia
Algolia

Back in 2014, I was given an opportunity to re-architect SmartZip Analytics platform, and flagship product: SmartTargeting. This is a SaaS software helping real estate professionals keeping up with their prospects and leads in a given neighborhood/territory, finding out (thanks to predictive analytics) who's the most likely to list/sell their home, and running cross-channel marketing automation against them: direct mail, online ads, email... The company also does provide Data APIs to Enterprise customers.

I had inherited years and years of technical debt and I knew things had to change radically. The first enabler to this was to make use of the cloud and go with AWS, so we would stop re-inventing the wheel, and build around managed/scalable services.

For the SaaS product, we kept on working with Rails as this was what my team had the most knowledge in. We've however broken up the monolith and decoupled the front-end application from the backend thanks to the use of Rails API so we'd get independently scalable micro-services from now on.

Our various applications could now be deployed using AWS Elastic Beanstalk so we wouldn't waste any more efforts writing time-consuming Capistrano deployment scripts for instance. Combined with Docker so our application would run within its own container, independently from the underlying host configuration.

Storage-wise, we went with Amazon S3 and ditched any pre-existing local or network storage people used to deal with in our legacy systems. On the database side: Amazon RDS / MySQL initially. Ultimately migrated to Amazon RDS for Aurora / MySQL when it got released. Once again, here you need a managed service your cloud provider handles for you.

Future improvements / technology decisions included:

Caching: Amazon ElastiCache / Memcached CDN: Amazon CloudFront Systems Integration: Segment / Zapier Data-warehousing: Amazon Redshift BI: Amazon Quicksight / Superset Search: Elasticsearch / Amazon Elasticsearch Service / Algolia Monitoring: New Relic

As our usage grows, patterns changed, and/or our business needs evolved, my role as Engineering Manager then Director of Engineering was also to ensure my team kept on learning and innovating, while delivering on business value.

One of these innovations was to get ourselves into Serverless : Adopting AWS Lambda was a big step forward. At the time, only available for Node.js (Not Ruby ) but a great way to handle cost efficiency, unpredictable traffic, sudden bursts of traffic... Ultimately you want the whole chain of services involved in a call to be serverless, and that's when we've started leveraging Amazon DynamoDB on these projects so they'd be fully scalable.

See more
Kir Shatrov
Kir Shatrov
Production Engineer at Shopify · | 13 upvotes · 15.6K views
atShopifyShopify
kubernetes-deploy
kubernetes-deploy
Capistrano
Capistrano
Heroku
Heroku
Shipit
Shipit
#PlatformAsAService
#ApplicationHosting
#ContainerTools
#BuildTestDeploy

Shipit, our deployment tool, is at the heart of Continuous Delivery at Shopify. Shipit is an orchestrator that runs and tracks progress of any deploy script that you provide for a project. It supports deploying to Rubygems, Pip, Heroku and Capistrano out of the box. For us, it's mostly kubernetes-deploy or Capistrano for legacy projects.

We use a slightly tweaked GitHub flow, with feature development going in branches and the master branch being the source of truth for the state of things in production. When your PR is ready, you add it to the Merge Queue in ShipIt. The idea behind the Merge Queue is to control the rate of code that is being merged to master branch. In the busy hours, we have many developers who want to merge the PRs, but at the same time we don't want to introduce too many changes to the system at the same time. Merge Queue limits deploys to 5-10 commits at a time, which makes it easier to identify issues and roll back in case we notice any unexpected behaviour after the deploy.

We use a browser extension to make Merge Queue play nicely with the Merge button on GitHub:

Both Shipit and kubernetes-deploy are open source, and we've heard quite a few success stories from companies who have adopted our flow.

#BuildTestDeploy #ContainerTools #ApplicationHosting #PlatformAsAService

See more
Pedro Arnal Puente
Pedro Arnal Puente
CTO at La Cupula Music SL · | 6 upvotes · 2.2K views
atLa Cupula Music SLLa Cupula Music SL
Capistrano
Capistrano
PHP
PHP

When we started working on the core of our main webapp, written in PHP , there weren't mature deployment tools in that language.

So we adopted Capistrano from the 1st deployment.

All deployments have been done with the tool. Deploying as often as needed, often many times daily, that means a LOT of deployments.

For every new service we'll aim for deployable artifacts, instead of application deployment.

See more
Capistrano
Capistrano

For deploying to a VPS like DigitalOcean. This pairs nicely with https://github.com/cyrusstoller/gardenbed. Capistrano

See more
Alfredo Alvarez
Alfredo Alvarez
Engineer at Wayfair · | 1 upvotes · 1.4K views
atGeniusLinkGeniusLink
Capistrano
Capistrano

Deployment automation all of the websites and apps are deployed to linux via capistrano. Capistrano

See more

Capistrano's Features

  • Reliably deploy web application to any number of machines simultaneously, in sequence or as a rolling set
  • Automate audits of any number of machines (checking login logs, enumerating uptimes, and/or applying security patches)
  • Script arbitrary workflows over SSH
  • Automate common tasks in software teams
  • Drive infrastructure provisioning tools such as chef-solo, Ansible or similar

Capistrano Alternatives & Comparisons

What are some alternatives to Capistrano?
Fabric
Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks. It provides a basic suite of operations for executing local or remote shell commands (normally or via sudo) and uploading/downloading files, as well as auxiliary functionality such as prompting the running user for input, or aborting execution.
Shipit
Shipit is an automation engine and a deployment tool written for node / iojs. Shipit was built to be a Capistrano alternative for people who don't know ruby, or who experienced some issues with it. If you want to write tasks in JavaScript and enjoy the node ecosystem, Shipit is also for you.
Docker
The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
Ansible
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.
Chef
Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions. Freely move applications and configurations from one cloud to another. Chef is integrated with all major cloud providers including Amazon EC2, VMWare, IBM Smartcloud, Rackspace, OpenStack, Windows Azure, HP Cloud, Google Compute Engine, Joyent Cloud and others.
See all alternatives

Capistrano's Stats

Capistrano's Followers
456 developers follow Capistrano to keep up with related blogs and decisions.
Jyoti  Duwal
Dave Mackey
Brad Crawford
Paresh Kadam
Theeraphat Jantalat
Thomas Pointel
Benjamin Kim
Tiras Muturi
Mohamma76685757
Hemanth Kumar