Git Product home page Git Product logo

capistrano-dotenv-tasks's Introduction

Capistrano::Dotenv::Tasks

Show, set and delete env vars in your .env remote file with Capistrano 3.

Installation

Add these lines to your application's Gemfile:

gem 'dotenv'  # if you haven't added it, already
gem 'capistrano-dotenv-tasks', require: false

And then execute:

$ bundle

Or install it yourself as:

$ gem install capistrano-dotenv-tasks

Usage

Require it in your Capfile:

require 'capistrano/dotenv/tasks'

Make the .env file a file that is shared between releases by adding one of the following lines to your config/deploy.rb script:

append :linked_files, '.env'  # for capistrano >= 3.5
set :linked_files, fetch(:linked_file, []).push('.env')  # for capistrano < 3.5

Then, access the capistrano rake tasks to edit your remote .env file from the cap command.

Show your config

$ cap production config:show

Set (create or update) a variable

$ cap production config:set VARNAME=value

Remove a variable

$ cap production config:remove[VARNAME]

Or multiple at once:

$ cap production config:remove[VARNAME1,VARNAME2]

Contributing

  1. Fork it ( https://github.com/glyph-fr/capistrano-dotenv-tasks/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

License

MIT

capistrano-dotenv-tasks's People

Contributors

koenpunt avatar mikz avatar radavis avatar vala avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

capistrano-dotenv-tasks's Issues

Add git tags to repository

It is common practice to add the released versions as tags to git repository. This also makes it easier to see if the latest features in the source are released or not.

Add a way to implement restart after setting config

Could be nice to have a way to implement/override a callback to force server restart after config update.

In my case, I need to cap unicorn:stop and cap unicorn:start after using cap config:set command.

undefined method 'set' for main:Object (NoMethodError)

I just installed this gem and the cap tasks are working perfectly, but my rails generator is broken. I'm getting this message:

/Users/andrew/.rvm/gems/ruby-2.2.4/gems/capistrano-dotenv-tasks-0.1.2/lib/capistrano/dotenv/tasks.rb:6:in `<top (required)>': undefined method `set' for main:Object (NoMethodError)
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:91:in `require'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:91:in `rescue in block in require'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:68:in `block in require'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/bundler-1.11.2/lib/bundler.rb:99:in `require'
    from /Users/andrew/Development/ilf-cms/config/application.rb:7:in `<top (required)>'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/spring-1.6.2/lib/spring/application.rb:82:in `require'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/spring-1.6.2/lib/spring/application.rb:82:in `preload'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/spring-1.6.2/lib/spring/application.rb:143:in `serve'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/spring-1.6.2/lib/spring/application.rb:131:in `block in run'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/spring-1.6.2/lib/spring/application.rb:125:in `loop'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/spring-1.6.2/lib/spring/application.rb:125:in `run'
    from /Users/andrew/.rvm/gems/ruby-2.2.4/gems/spring-1.6.2/lib/spring/application/boot.rb:18:in `<top (required)>'
    from /Users/andrew/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/andrew/.rvm/rubies/ruby-2.2.4/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from -e:1:in `<main>'

issue on loading

Hello) it's appear when I try start server

.rvm/gems/ruby-2.3.1@kcs/gems/capistrano-dotenv-tasks-0.1.3/lib/capistrano/dotenv/tasks.rb:6:in `<top (required)>': undefined method `set' for main:Object (NoMethodError)
Did you mean?  send

Values of env variables wrong after update/add operations

I tried to use this gem(newest version) but when I update one variable or add one. The values that were key=value become key="value" and the quotes might break something. Which was my case.

I didn't tested to change but it might be necessary only to change this line https://github.com/glyph-fr/capistrano-dotenv-tasks/blob/master/lib/capistrano/dotenv/config.rb#L23

I will try to fix later when I have the time to test it out. If someone else can test, go for it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.