The easy Capistrano deploy & configuration manager

View on Github

Manage your Capistrano deployments with ease

Pulsar allows you to run Capistrano tasks via a separate repository where all your deploy configurations are stored.

Easy deploy

You don’t need to have the application locally to deploy (and neither have all your application dependencies installed).

Write less code

Once you have your own repository, you can gradully add configurations and recipes so that you never have to duplicate code again.

Integration

Pulsar is easy to integrate, you just need access to the configurations repository and the ability to run a command.

Installation

The most useful way of installing Pulsar is as a system gem:

$ gem install pulsar

This will install the pulsar command. It's required to run Capistrano, list your configured applications and stages and everything else.

You'll need to create your own configuration repo:

$ pulsar install ~/Desktop/pulsar-conf

This will create a basic start point for building your configuration repository. As soon as you're done configuring you should consider storing this folder as an actual git repository.

Configuration

This is an example repository configuration layout:

pulsar-conf/
|── Gemfile
├── Gemfile.lock
├── apps
│   ├── Capfile
│   ├── deploy.rb
│   └── my_application
│       ├── Capfile
│       ├── deploy.rb
│       ├── production.rb
│       └── staging.rb
└── recipes
    ├── generic
    │   ├── maintenance_mode.rake
    │   ├── notify.rake
    │   └── utils.rake
    ├── rails
    │   ├── passenger.rake
    │   ├── repair_permissions.rake
    │   ├── symlink_configs.rake
    │   ├── unicorn.rake
    │   └── whenever.rake
    └── solidus_2
        └── symlink_assets.rake

Pulsar uses these files to build Capistrano configurations on the fly, depending on how you invoke the pulsar command. Since Pulsar it's basically a Capistrano wrapper, the content of these files is plain old Capistrano syntax.

Usage

After the repository is ready, running Pulsar is straightforward. To deploy my_application to production:

$ pulsar deploy my_application production

More in-depth documentation on Github.