Docker CLI
POST Parameters
Name | Type | Description |
---|---|---|
action Required | String | The ID of the action. |
type Required | String | The type of the action. Must be set to NATIVE_BUILD_DOCKER_CLI . |
working_directory Required | String | The directory in which the pipeline filesystem will be mounted. |
commands Required | String[] | The commands that will be executed. |
execute_every_command | Boolean | If set to true all commands will be executed regardless of the result of the previous command. |
sync_paths | SyncPath[] | Define file paths that should be copied before (PIPELINE_TO_VM ) and after the execution (VM_TO_PIPELINE ). |
docker_layer_caching | Boolean | Enables or disables Docker layer caching. |
docker_layer_caching_scope | Boolean | Required if docker_layer_caching is set to true . Defines the caching scope. Available values: WORKSPACE , PROJECT , PIPELINE , ACTION . |
docker_layer_caching_tag | String | Defines the name of the tag assigned to the cached layer. |
vm_from_prev_action | Boolean | Set to true if you want the action to use the VM from the previous Docker CLI action. |
vm_action_name | String | The name of the action from which the VM is reused (if vm_from_prev_action is set to true ). If not set, the previous one will be used. |
distribution | String | Set to AMI if you want to use your own ami (default UBUNTU_20_04 ) |
ami | Ami | Set if distribution is set to AMI . |
Ami Properties
Name | Type | Description |
---|---|---|
id | String | Defines the AMI ID of the image. Ohio-region images only. The image must have Rsync installed. |
user | String | The name of the user in the custom image. |
port | String | The port used for SSH in the custom image. |
Sample Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Execute: docker --version",
"type": "NATIVE_BUILD_DOCKER_CLI",
"trigger_time": "ON_EVERY_EXECUTION",
"working_directory": "/home/ubuntu/build",
"commands": [
"docker --version"
],
"execute_every_command": true,
"sync_paths": [
{
"pipeline_path": "/",
"vm_path": "/home/ubuntu/build",
"direction": "PIPELINE_TO_VM",
"excludes": "/.git"
},
{
"pipeline_path": "/",
"vm_path": "/home/ubuntu/build",
"direction": "VM_TO_PIPELINE",
"excludes": ""
}
],
"docker_layer_caching": true,
"docker_layer_caching_scope": "PROJECT",
"docker_layer_caching_tag": "backend_build",
"vm_from_prev_action": true,
"vm_action_name": "Build action"
}
Sample Response
HTTP
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
JSON
{
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
"id": 2,
"name": "Execute: docker --version",
"type": "NATIVE_BUILD_DOCKER_CLI",
"trigger_time": "ON_EVERY_EXECUTION",
"working_directory": "/home/ubuntu/build",
"commands": [
"docker --version"
],
"execute_every_command": true,
"sync_paths": [
{
"pipeline_path": "/",
"vm_path": "/home/ubuntu/build",
"direction": "PIPELINE_TO_VM",
"excludes": "/.git"
},
{
"pipeline_path": "/",
"vm_path": "/home/ubuntu/build",
"direction": "VM_TO_PIPELINE",
"excludes": ""
}
],
"docker_layer_caching": true,
"docker_layer_caching_scope": "PROJECT",
"docker_layer_caching_tag": "backend_build",
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "Live mirror",
"on": "CLICK",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08",
"vm_from_prev_action": true,
"vm_action_name": "Build action"
}
}
Last modified on November 18, 2022