Boxfuse Deployment

This page documents deployments using the next major version dpl v2, which currently is in a beta release phase. Please see our blog post for details. The current default version is dpl v1. Check dpl v1 documentation here.

Be sure to read the v2 deployment overview.

Travis CI can automatically deploy your Boxfuse application after a successful build.

For a minimal configuration, add the following to your .travis.yml:

deploy:
  provider: boxfuse
  user: <user>
  secret: <encrypted secret>
  edge: true # opt in to dpl v2

You also might want to also specify the payload option:

  deploy:
    provider: boxfuse
    # ⋮
    payload: <path/to/artifact> # typically a jar, war, tar.gz or zip file

If no payload is specified, Boxfuse will automatically search for a compatible payload to fuse within the current directory. If the command is executed at the root of a Maven, Gradle or SBT project, the output directory of that project will be automatically scanned as well.

Status #

Support for deployments to Boxfuse is in alpha. Please see Maturity Levels for details.

Known options #

Use the following options to further configure the deployment.

user required, type: string
secret required, secret, type: string
payload type: string
app type: string
version type: string
env type: string
config_file type: string, alias: configfile (deprecated, please use config_file)
extra_args type: string

Shared options #

cleanup Clean up build artifacts from the Git working directory before the deployment — type: boolean
run Commands to execute after the deployment finished successfully — type: string or array of strings

Environment variables #

All options can be given as environment variables if prefixed with BOXFUSE_.

For example, secret can be given as BOXFUSE_SECRET=<secret>.

Securing secrets #

Secret option values should be given as either encrypted strings in your build configuration (.travis.yml file) or environment variables in your repository settings.

Environment variables can be set on the settings page of your repository, or using travis env set:

travis env set BOXFUSE_SECRET <secret>

In order to encrypt option values when adding them to your .travis.yml file use travis encrypt:

travis encrypt <secret>

Or use --add to directly add it to your .travis.yml file. Note that this command has to be run in your repository’s root directory:

travis encrypt --add deploy.secret <secret>

Finally you can also configure Boxfuse by placing a boxfuse.conf file in the root of your repository. More info about configuration in the Boxfuse Command-line Client documentation.

Specifying the app and image version #

By default Boxfuse will detect the app and the version automatically from the name of your payload file.

You can override this using the following:

deploy:
  provider: boxfuse
  # ⋮
  image: <image> # boxfuse app and version (e.g. myapp:1.23)

You can also use Travis CI environment variables like TRAVIS_BUILD_NUMBER to assign a version to the image, e.g. image: "myapp:$TRAVIS_BUILD_NUMBER".

Specifying the environment #

By default Boxfuse will deploy to your test environment.

You can override this using the following:

deploy:
  provider: boxfuse
  # ⋮
  env: <env>

Specifying a configuration file #

You can also fully configure Boxfuse by placing a boxfuse.conf file in the root of your repository. You can specify an alternative configuration file like this:

deploy:
  provider: boxfuse
  # ⋮
  config_file: ./boxfuse-alt.conf

Specifying custom arguments #

If the Boxfuse Client functionality you need is not included here, you can pass additional arguments to the Boxfuse executable by using the extra_args parameter:

deploy:
  provider: boxfuse
  extra_args: <extra_args> # e.g. -X

Further information #

Go to the Boxfuse website to learn more about Boxfuse and how to configure it.

Pull Requests #

Note that pull request builds skip the deployment step altogether.

See also #