Linux VM - Features, integrations, alternatives & more
What it does
Test and build commands defined by the user, are run on a dedicated virtual machine running Ubuntu. All commands are executed in the context of the repository. Once the commands are run, dependencies and artifacts are saved in the pipeline's filesystem and the virtual machine is terminated.
You can select between pre-defined Ubuntu machine or use custom Amazon Machine Image
Action preview
Image loading...Preview Linux VM action
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
Handling failures: 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
Do more with Linux VM
Buddy allows you to instantly connect Linux VM with 100+ actions to automate your development and build better apps faster.