Bootstrap your Rundeck plugin development with this easy command line utility.
-
From zip file: Download the tar or zip distribution, cd to the bin directory.
-
From deb package:
sudo dpkg -i rundeck-plugin-bootstrap-X.Y.Z-1_all.deb
- From rpm package:
sudo rpm -i rundeck-plugin-bootstrap-X.Y.Z-1.noarch.rpm
Run the following command to get the available options
./rundeck-plugin-bootstrap help
The options available are:
--destinationDirectory or -d
: The directory in which the artifact directory will be generated--pluginName or -n
: Plugin Name--pluginType or -t
: Plugin Type--serviceType or -s
: Rundeck Service Type
The plugins that can be created with the bootstrap client are:
script
: it creates a script pluginjava
: it creates a java pluginui
: it creates a UI plugin
Existing service plugins enabled on boostrap-plugin
- ResourceModelSource
- Notification
- WorkflowStep
- WorkflowNodeStep
- LogFilter
- NodeExecutor
- Orchestrator
- Option
- ResourceModelSource
- WorkflowNodeStep
- RemoteScriptNodeStep
- NodeExecutor
- FileCopier
- NodeExecutorFileCopier: Generate both, Node Executor and File Copier service
- Option
- UI
- Create a script plugin:
rundeck-plugin-bootstrap -n MyNodeExecutorPlugin -t script -s NodeExecutor -d /tmp
A Script NodeExecutor plugin will be created at /tmp/mynodeexecutorplugin.
You can cd into that directory, run gradle build
and you will have an installable plugin that you can put in your Rundeck installation.
- Create a UI script plugin:
rundeck-plugin-bootstrap -n MyUIPlugin -t ui -s UI -d /tmp
- Create a notification java plugin:
rundeck-plugin-bootstrap -n MyRundeckNotificationPlugin -t java -s Notification -d /tmp
This repo can be used to test plugins while in development instead of testing through the Rundeck UI running in Development mode, because that can take a while. Instead, this repo can be used to make it faster.
- To begin, you will need to follow the instructions above to create the skeleton of a plugin with the same type as the one in Development.
- Next, develop tests that can test the functionality of the plugin, by setting all of the properties in the test and executing the step as it normally would be executed. This should resemble the tests you would write at the end of development, but now you are writing them to help confirm development is complete. Example Tests.