Skip to content

Gradle plugin that provides support for managing applications and databases on CloudBees RUN@cloud

License

Notifications You must be signed in to change notification settings

bmuschko/gradle-cloudbees-plugin

Repository files navigation

Gradle CloudBees plugin

CloudBees Logo

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

-

CloudBeesAppChecksums

Returns the checksums for an application.

cloudBeesAppDelete

-

CloudBeesAppDelete

Deletes an application.

cloudBeesAppDeployEar

-

CloudBeesAppDeployEar

Deploys a new version of an application using a EAR file.

cloudBeesAppDeployWar

-

CloudBeesAppDeployWar

Deploys a new version of an application using a WAR file.

cloudBeesAppInfo

-

CloudBeesAppInfo

Returns the basic information about an application.

cloudBeesAppList

-

CloudBeesAppList

Returns the list of applications available to your account.

cloudBeesAppRestart

-

CloudBeesAppRestart

Restarts all deployed instances of an application.

cloudBeesAppStart

-

CloudBeesAppStart

Starts all deployed instances of an application.

cloudBeesAppStop

-

CloudBeesAppStop

Stops all deployed instances of an application.

cloudBeesAppTail

-

CloudBeesAppTail

Establishes a persistent connection to the application logs.

Database tasks

Task name Depends on Type Description

cloudBeesDbCreate

-

CloudBeesDbCreate

Creates a new database.

cloudBeesDbDrop

-

CloudBeesDbDrop

Drops a database.

cloudBeesDbInfo

-

CloudBeesDbInfo

Returns information about connecting to a database.

cloudBeesDbList

-

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

apiFormat

String

XML

The CloudBees API format.

apiVersion

String

1.0

The CloudBees API version.

apiUrl

String

https://api.cloudbees.com/api

The CloudBees API URL.

apiKey

String

value of property named cloudbees.api.key

The CloudBees API key.

apiSecret

String

value of property named cloudbees.api.secret

The CloudBees API secret.

appId

String

Not null

The application identifier on CloudBees.

dbId

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

About

Gradle plugin that provides support for managing applications and databases on CloudBees RUN@cloud

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published