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.