Hi @rachkor,
Where are the other plugins stored? As their appears to be multiple instances referencing plugins?
As it should be easy enough to just duplicate one that already works and tweak that.
Hi @rachkor,
Where are the other plugins stored? As their appears to be multiple instances referencing plugins?
As it should be easy enough to just duplicate one that already works and tweak that.
Check out /opt/dradispro/dradispro/current/Gemfile
for a list of those plugins and to see how they’re referenced. They’re all being pulled in as a .gem
file the same way this plugin is theoretically being pulled in.
The reason we recommend that you put your custom plugin into that separate Gemfile.plugins
is so that the other plugins can get overwritten/upgraded when you upgrade Dradis but your custom plugin won’t be changed.
Does that make sense?
Hi @rachkor,
This does make sense, however, is there a method to upload a custom plugin locally rather than pulling it down as a gem file? The plugin I have developed is quite specific, so as such would not want to make it publicly available if I can avoid it.
As in the CE version I used a plugin that was stored locally and used this in order to create my plugin.
Hope this makes sense.
Hi @joshua
If you want to skip the “gem”, you may:
/opt/dradispro/dradispro/shared/
)gem 'dradis-NEW', path: '/opt/dradispro/dradispro/shared/dradis-NEW'
RAILS_ENV=production bundle install --local --without development test
god restart dradispro-unicorn
Then I would enter the console with:
cd /opt/dradispro/dradispro/current
RAILS_ENV=production bin/rails console
and type: Dradis::Plugins::NEW::Engine
That should not error out if the plugin is loaded.
What @xavi suggessted would work and your plugin will survive Pro upgrades.
For initial testing though, you can generate a .gem file in your laptop (via bundle exec rake build
) and copy that into /opt/dradispro/dradispro/current/vendor/cache/
.
After that adding your plugin to Gemfile.plugins
should work, as bundle install
should find the .gem
in your ./vendor/cache/
folder.