Linux
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_LINUX . |
working_directory Required | String | The directory in which the pipeline filesystem will be mounted. |
commands Required | String[] | The commands that will be executed. |
distribution Required | String | Defines the image used to create the VM. Use UBUNTU_20_04 for the default image, AMI for a custom AMI. |
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 ). |
vm_from_prev_action | Boolean | Set to true if you want the action to use the VM from the previous Linux 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. |
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. |
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Build application",
"type": "NATIVE_BUILD_LINUX",
"trigger_time": "ON_EVERY_EXECUTION",
"working_directory": "/home/ubuntu/build",
"commands": [
"ls -al"
],
"distribution": "AMI",
"ami":
{
"image": "ami-00bf6b81ba0081ada",
"user": "ubuntu",
"port": "22",
},
"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": ""
}
]
}
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": "Build application",
"type": "NATIVE_BUILD_LINUX",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"working_directory": "/home/ubuntu/build",
"user": "ubuntu",
"port": "22",
"distribution": "AMI",
"ami":
{
"image": "ami-00bf6b81ba0081ada",
"user": "ubuntu",
"port": "22",
},
"commands": [
"ls -al"
],
"image": "ami-00bf6b81ba0081ada",
"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": ""
}
],
"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"
}
}
Last modified on November 22, 2022