Sha256: 568f6403bed215eaa93b555124b50636be07b10d13de68bee936d770d4bbad4a

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

######################################################################
#                         GIT NOTIFIER TASKS                         #
######################################################################
Capistrano::Configuration.instance(:must_exist).load do
  after     'deploy:cleanup',           'notify:via_git:tag'

  namespace :notify do
    namespace :via_git do
      desc <<-DESC
        Tags the deployed Git commit with the timestamp and environment it was deployed to.

        The tag is auto-pushed to whatever `remote` is set to as well as `origin`.
        Tag push happens in the background so it won't slow down deployment.
      DESC
      task :tag do
        timestamp_string_without_seconds = Time.now.strftime("%Y%m%d%H%M")
        tag_name = "deployed_to_#{rails_env}_#{timestamp_string_without_seconds}"

        `git tag -a -m "Tagging deploy to #{rails_env} at #{timestamp_string_without_seconds}" #{tag_name} #{branch}`
        `git push #{remote} --tags > /dev/null 2>&1 &`
        `git push origin --tags > /dev/null 2>&1 &`
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chicken_soup-0.5.2 lib/chicken_soup/notifiers/git/git-tasks.rb