This document describes the functionality provided by the xlr-plugin-plugin
The intent of this plugin and corresponding release template is to assist developers in easily creating new XL Deploy and/or XL Release plugins that adhere to the standards of XebiaLabs Community Plugins.
This plugin runs on your local installation of XL Release, and has all of the hooks to set up the basic requirements for a Xebialabs community plugin.
Once run, you will have the XebiaLabs community plugin framework set up, and a working project in which you can add your plugin source code.
- GitHubAccount
- git Installed Locally
- Travis CI Command Line Interface Installed Locally
- Gradle Installed Locally
- GitHub Organization
- If you wish to create your plugin within an organization (xebialabs-community) you need to have the appropriate access to do so.
- HipChat (optional)
- API Token For HipChat Notifications
- HipChat Room ID
The following initial setup must be done locally on your XL Release instance before you are able to run the plugin creation release:
- Sign into Github via TravisCI
- Sign into Github via Codacy
- Install Travis CI locally (Using Ruby:
gem install travis -v 1.8.8 --no-rdoc --no-ri
) - Verify git and gradle installed locally.
- Run travis command in terminal, to ensure XLr task can execute proper travis commands:
travis login
- Download both the plugin JAR file, and XLr template, from the Project Releases tab
- Install the xlr-plugin-plugin to the
SERVER_HOME/plugins
directory of XL Release. - Import the template into XL Release.
- (optional) Open the template, and fill in your user/environment specific values.
Utilize the template provided with the release and follow the instructions in the template to create your new plugin.
-
Once the "Configure Github Repository" task has completed, clone the project locally from GitHub. Mark task complete.
-
For Codacy task, read the task description and follow steps. Mark task complete.
-
For Code Climate task, read the task description and follow the steps. Mark task complete.
-
Once all tasks are completed, verify you have a valid xebialabs-community project on Github.
Now you have the framework for creating your plugin. Add your source code, and create a good readme for other users to follow.
Travis checks to ensure that all scripts, synthetic.xml and xl-rules.xml have the proper license header in each file. Please refer to the License to be used section to ensure your files contain the proper header.
For each version of the plugin that you want to build a release JAR file, you need to do the following:
- Modify
plugin_source_dir/.travis.yml
– change to correct version - Modify
plugin_source_dir>/build.gradle
– change to correct version git add <your files you want to commit>
git tag -a <your version id> -m "Version <your version id>"
(ex/git tag -a 1.0.1 -m "Version 1.0.1"
)git commit -m "a great commit message"
git push --follow-tags
Travis CI will then build your plugin, and you will get a plugin built under the ‘Releases’ tab once the job is successful.