No commit activity in last 3 years
No release in over 3 years
Use Capistrano 3 without source control management on the remote hosts.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.13
~> 5.0
~> 10.0
 Project Readme

Capistrano::Scm::None

This is SCM Plugin for Capistrano 3.7+. It allows you define your own deploy:upload task that gets called to put code on the remote hosts.

Why? I use Capistrano to deploy a number of Clojure apps. These apps only need the compiled JAR file. Maybe one or two support files. Also makes sense to compile once on the local machine/build server and deploy to multiple hosts. I love Capistrano and have been using it for a long time, but w/ the v3 the copy deploy strategry was removed. I don't really disagree with that and this is actually cleaner then how I was doing things in v2.

Installation

Add this line to your application's Gemfile:

group :development do
  gem "capistrano-scm-none", "~> 0.1"
end

And then execute:

$ bundle

Or install it yourself as:

$ gem install capistrano-scm-none

Usage

In your Capfile require the gem and install the plugin. Comment out any current SCM plugin.

require 'capistrano/scm/none'
install_plugin Capistrano::Scm::None::Plugin

In a rake file in /lib/capistrano/tasks add a deploy:upload task that uploads whatever files you need.

Here's an example.

namespace :deploy do
  desc "upload jar"
  task :upload do
    on release_roles :all do
      upload! "target/standalone.jar", 
        "#{release_path}/standalone.jar"

      upload! "target/run.sh", "#{release_path}/run.sh"
      
      within release_path do
        execute :chmod, '+x', 'run.sh'
      end
    end
  end
end

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install.

Todo

  • Better tests.
  • Get SCM revision number from local repo.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/candland/capistrano-scm-none.

License

The gem is available as open source under the terms of the MIT License.