This page describes how you can contribute to the XebiaLabs community plugins, where the continuous integration is located and what steps to follow to release your community plugin.
Create a GitHub account, and request to join the organization by sending an email to jdewinne@xebialabs.com.
If you want to contribute to an existing repository, simply fork the repository, make your changes and send a pull request. If you need help with this, you can contact for example the person who last committed to that repository.
XebiaLabs requires each plugin to include the following license information:
THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS
FOR A PARTICULAR PURPOSE. THIS CODE AND INFORMATION ARE NOT SUPPORTED BY XEBIALABS.
This can easily be done using the Gradle license plugin
plugins {
id "com.github.hierynomus.license" version "0.12.1"
}
...
license {
header rootProject.file('src/main/license/xebialabs_community.license')
strictCheck true
}
XebiaLabs uses Travis CI for continuous integration. Go to Travis CI and log in with your GitHub account. After you log in, you'll see the community plugins being built. The build configuration is located in the .travis.yml
file in each repository. More information is available at the Travis CI documentation site.
Please also configure HipChat notifications as described here (TravisCI room) and GitHub releases as described here.
As an alternative you can also use Circle CI.
Using a Gradle wrapper ensures that the same Gradle version is used (including on Travis CI). An example usage of a Gradle wrapper can be found in the xld-openshift-plugin repository. You can copy the example wrapper or create one yourself using gradle wrapper
.
Make sure you follow these steps
- Update the
build.gradle
file to contain the new version number. - Update the
.travis.yml
file to contain the new version number. - Create a new tag. Example
git tag -a v4.5.2 -m 'Version 4.5.2' 373159
. - Push the tag to github:
git push --follow-tags
.
- Each repository must include the license.
- If your repository is a plugin, the repository name should end with
plugin
. - If your repository is a plugin for XL Deploy, the repository name should start with
xld
. - If your repository is a plugin for XL Release, the repository name should start with
xlr
.