Gradle CloudBees plugin
The development of this plugin has been taken over by CloudBees. Please refer to its new GitHub repository CloudBees-community/gradle-cloudbees-plugin. Development on this repository is discontinued. |
The plugin provides support for managing applications and databases on CloudBees RUN@cloud. Under covers the plugin communicates with the CloudBees backend via the CloudBees API client. The code of the plugin is featured in chapter 8 of the book "Gradle in Action" published by Manning.
Usage
To use the CloudBees plugin, include in your build script:
apply plugin: 'cloudbees'
The plugin JAR needs to be defined in the classpath of your build script. It is directly available on Maven Central. Alternatively, you can download it from GitHub and deploy it to your local repository. The following code snippet shows an example on how to retrieve it from Maven Central:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.gradle.api.plugins:gradle-cloudbees-plugin:0.1'
}
}
Tasks
The CloudBees plugin defines the following tasks:
Application tasks
Task name | Depends on | Type | Description |
---|---|---|---|
|
- |
CloudBeesAppChecksums |
Returns the checksums for an application. |
|
- |
CloudBeesAppDelete |
Deletes an application. |
|
- |
CloudBeesAppDeployEar |
Deploys a new version of an application using a EAR file. |
|
- |
CloudBeesAppDeployWar |
Deploys a new version of an application using a WAR file. |
|
- |
CloudBeesAppInfo |
Returns the basic information about an application. |
|
- |
CloudBeesAppList |
Returns the list of applications available to your account. |
|
- |
CloudBeesAppRestart |
Restarts all deployed instances of an application. |
|
- |
CloudBeesAppStart |
Starts all deployed instances of an application. |
|
- |
CloudBeesAppStop |
Stops all deployed instances of an application. |
|
- |
CloudBeesAppTail |
Establishes a persistent connection to the application logs. |
Database tasks
Task name | Depends on | Type | Description |
---|---|---|---|
|
- |
CloudBeesDbCreate |
Creates a new database. |
|
- |
CloudBeesDbDrop |
Drops a database. |
|
- |
CloudBeesDbInfo |
Returns information about connecting to a database. |
|
- |
CloudBeesDbList |
Returns a list of all the databases associated with your account. |
Extension properties
The CloudBees plugin defines the following extension properties in the cloudBees
closure:
Property name | Type | Default value | Description |
---|---|---|---|
|
String |
|
The CloudBees API format. |
|
String |
|
The CloudBees API version. |
|
String |
|
The CloudBees API URL. |
|
String |
value of property named |
The CloudBees API key. |
|
String |
value of property named |
The CloudBees API secret. |
|
String |
Not null |
The application identifier on CloudBees. |
|
String |
Not null |
The database identifier on CloudBees. |
Example
cloudBees {
appId = 'gradle-in-action/to-do-app'
dbId = 'gradle-in-action/to-do-db'
}
cloudBeesAppDeployWar.message = project.version
Setting API credentials
If you decide to use the properties cloudbees.api.key
and cloudbees.api.secret
to populate your API credentials it is recommended to set them in your ~/.gradle/gradle.properties
file. The following code snippet shows an example:
cloudbees.api.key = yourApiKey
cloudbees.api.secret = yourApiSecret