Docker CLI - Features, integrations, alternatives & more
What it does
With Docker CLI you are able to fetch dependencies and build/test your project on our servers. Commands specified in this action will be executed in an isolated Virtual Machine in the context of your repository.
How it works
Commands specified in this action will be executed in an isolated Ubuntu virtual machine in the context of your repository. Before the action executes, your files are copied from your filesystem to the Linux virtual machine where the commands are run, once it's over the files are transferred back to the filesystem of your pipeline and the machine is killed.
Action preview

Run commands
- The field supports multiple commands (one per line), piping commands together, or splitting a single command into multiple lines with
\\
(backslash) at the end of each line - The action is marked as failed when a command exits with a non-zero value
- The action supports Environment variables which could be used in build commands (Run tab), and in your scripts
- If encrypted ENV VARs are used in build commands (Run tab), their values will be masked in the action logs
- Settable variables with a scope higher than the pipeline (ex: project, workspace) are passing their values between pipelines
- Exit code handling: you can either halt the commands if any throws an error or run the following commands regardless of the result of previous command
Pipeline’s filesystem
- Action is being run in the pipeline. Each pipeline has it's own persistent filesystem. This filesystem serves as base dependency and artifact cache
- Filesystem files are copied onto a virtual machine on which the user defined commands/scripts are then run. Once the execution ends, files from the virtual machine are copied back to the pipeline's filesystem and the virtual machine is terminated
- In the action settings, you can define which files and directories are to be copied between the virtual machine and the filesystem
Variables
- If commands specified on the Run tab change the value of the variable marked as settable on the Environment variables tab, the new value will be passed on to the next actions
- SSH keys defined in the ENV VARs are added to
~/.ssh
directory of the launched action, so they can be used to fetch private dependencies
Conditions
- It is possible to specify conditions under which the action will be executed
- Available conditions: always, on changes in the repository since the last run, on changes in specific paths in the repository, or when a Variable has a specific value
- Error handling: you can either stop the execution, mark action and pipeline as failed or proceed the execution, mark action as warning and jump to the next action