Obsolete: Starting with CloudCaptain 1.37.0 the Gradle plugin is no longer available. These docs are here for historical reference only. Users of the Gradle plugin are encouraged to migrate to the CloudCaptain Command-line Client.
Fuses a Payload together with the Components it requires into an Image.
Usage: gradle boxfuseFuse -Dboxfuse.payload=payload
When run as part of a build, the project artifact will automatically be used as a payload.
> gradle boxfuseFuse -Dboxfuse.payload=hello-1.0.war Fusing Image for hello-1.0.war ... Image fused in 00:07.351s (48147 K) -> axelfontaine/hello:1.0
com.boxfuse.client.gradle.task.FuseTask
Supported Payload formats:
| Plugin Parameter | Gradle/System property | Default | Description | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| user | boxfuse.user | Required - Your CloudCaptain Client user. Also configurable via the BOXFUSE_USER
environment variable |
|||||||||||||||||||||||
| secret | boxfuse.secret | Required - Your CloudCaptain Client secret. Also configurable via the BOXFUSE_SECRET
environment variable |
|||||||||||||||||||||||
| payload | boxfuse.payload | The project artifact | The Payload to use. Can be either a file, a directory or a URL. | ||||||||||||||||||||||
| payloadPort | boxfuse.payload.port | autodetected | The name of the port on which the payload starts (usually http or https) | ||||||||||||||||||||||
| payloadPath | boxfuse.payload.path | / | The path where the payload starts | ||||||||||||||||||||||
| cmd | boxfuse.cmd | first executable file in image | Generic Linux x64 apps only The command to start the app including relative path and all necessary arguments |
||||||||||||||||||||||
| components | boxfuse.components.NAME | latest version | Pins the component with this name onto this version. Example: -components.tomcat=8.0.9 |
||||||||||||||||||||||
| debug | boxfuse.debug | false | Start the Payload in debug mode when an Instance launches | ||||||||||||||||||||||
| debugWait | boxfuse.debug.wait | false | JVM apps only Whether the JVM should wait for the remote debugger to connect (Only applicable when debug mode is active) |
||||||||||||||||||||||
| envvars | boxfuse.envvars.NAME | Fuses this environment variable into the image and make it available at runtime Example: boxfuse.envvars.JDBC_URL=jdbc:mydburl |
|||||||||||||||||||||||
| healthcheck | boxfuse.healthcheck | true | Check whether to payload started correctly | ||||||||||||||||||||||
| healthcheckPort | boxfuse.healthcheck.port | autodetected | The name of the port to check whether the payload started correctly (must be an https or http port, not tcp or udp). Example: admin-https |
||||||||||||||||||||||
| healthcheckPath | boxfuse.healthcheck.path | / | The path to check whether to payload started correctly | ||||||||||||||||||||||
| healthcheckTimeout | boxfuse.healthcheck.timeout | 300 | The number of seconds to wait for the Payload to come up | ||||||||||||||||||||||
| image | boxfuse.image | autodetected | The image app name and version. By default this is autodetected based on the payload name.
For example myapp-1.2.jar would trigger the creation of the image myapp:1.2.
You can override this by explicitly setting this property to say my-other-app:333.
|
||||||||||||||||||||||
| jvmArgs | boxfuse.jvm.args | JVM apps only Extra arguments to pass to the JVM |
|||||||||||||||||||||||
| jvmJmx | boxfuse.jvm.jmx | false | JVM apps only Enable the JMX remote management and profiling interface for the JVM |
||||||||||||||||||||||
| jvmMainClass | boxfuse.jvm.main.class | autodetected | JVM apps only Main class to invoke on JVM startup |
||||||||||||||||||||||
| jvmMainArgs | boxfuse.jvm.main.args | JVM apps only Arguments to pass to the main class |
|||||||||||||||||||||||
| linuxArgs | boxfuse.linux.args | quiet | Experts only The arguments to pass from the bootloader to the Linux kernel |
||||||||||||||||||||||
| live | boxfuse.live | false | Enable live reloading of changes in dev for super fast round-trips. Note that images with live reloading cannot be pushed to the CloudCaptain Vault. | ||||||||||||||||||||||
| newrelicLicensekey | boxfuse.newrelic.licensekey | Installs and configures the New Relic agents to monitor your instance. | |||||||||||||||||||||||
| ports | boxfuse.ports.NAME | http=80 | Exposes the port of the app with this name using this definition. Example: boxfuse.ports.jmx=8001 Supported formats:
|
||||||||||||||||||||||
| tmp | boxfuse.tmp | 1 | The amount of temp space to allocate to /tmp in GB | ||||||||||||||||||||||
| vault | boxfuse.vault | false | Immediately upload the new Image to the CloudCaptain Vault |
boxfuse {
user='1234567890abcdef1234567890abcdef12345678'
secret='ABCDEFGHIJKL1234567abcdefghijklmnopqrstu'
payload='hello-1.0.war'
payloadPort='https'
payloadPath='/app'
cmd='-cmd=bin/myapp -with -my args'
components=[
'openjdk':'8.25.40',
'tomcat':'8.0.20'
]
debug=true
debugWait=false
envvars=[
'JDBC_URL':'jdbc:mydburl',
'MY_OTHER_VAR':'abc'
]
healthcheck=true
healthcheckPort='https'
healthcheckPath='/health'
healthcheckTimeout=120
image='my-other-app:333'
jvmArgs='-DmycustomProp=abc'
jvmJmx=true
jvmMainClass='com.mycorp.MyApp'
jvmMainArgs='-abc -def'
linuxArgs='quiet'
live=true
newrelicLicensekey='0123456789abcdef0123456789abcdef012345'
ports=[
'https':443,
'http':80
]
tmp=16
vault=false
}
After you execute run, CloudCaptain will automatically define the following Gradle properties
| Gradle property | Description |
|---|---|
| boxfuse.image | The image that was used to launch the instances |