Build application
Learn more about:
Build actions.
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to BUILD . |
docker_image_name Required | String | The name of the Docker image. |
docker_image_tag Required | String | The tag of the Docker image. |
execute_commands Required | String[] | The commands that will be executed. |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
volume_mappings | String[] | The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located). |
cached_dirs | String[] | The dependencies & directories to be cached and available to every execution in this pipeline. |
working_directory | String | The directory in which the pipeline filesystem will be mounted. |
setup_commands | String[] | The command that will be executed only on the first run. |
services | Service[] | The containers with the services that will be attached to this environment. Available types: MYSQL , MONGO_DB , MARIADB , POSTGRE_SQL , REDIS , MEMCACHED , ELASTICSEARCH , CUSTOM . |
main_service_name | String | The hostname of the container in which the action is run. The container will be available under this name in the docker network for services defined in the services field. |
shell | String | The name of the shell that will be used to execute commands. Can be one of SH (default) or BASH . |
execute_every_command | Boolean | If set to true , all commands will be executed regardless of the result of the previous command. |
cacheBaseImage | Boolean | If set to true , the cached version of the image is used, instead of being pulled each time. |
reset_entrypoint | Boolean | If set to true , resets the default entrypoint set by the image. Default value: false . |
execute_every_command | Boolean | If set to true , all commands will be executed regardless of the result of the previous command. |
cacheBaseImage | Boolean | If set to true , the cached version of the image is used, instead of being pulled each time. |
reset_entrypoint | Boolean | If set to true , resets the default entrypoint set by the image. Default value: false . |
ignore_image_pull_failures | Boolean | if set to true , use cached image on timeouts (only for official images). |
cache_base_image | Boolean | If set to true , the cached version of the image is used, instead of being pulled each time. |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Build application",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"docker_image_name": "library/ubuntu",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > $fileName"
],
"setup_commands": [
"apt-get update -y",
"apt-get install -y wget"
],
"cached_dirs": [
"/build/test",
"/bin/Debug"
],
"variables": [
{
"key": "fileName",
"value": "ls.log"
}
],
"working_directory": "/buddy/my-repo-dir",
"shell": "SH",
"main_service_name": "my-app.svc",
"cacheBaseImage": true,
"services": [
{
"type": "MYSQL",
"version": "5.7"
},
{
"type": "MONGO_DB",
"version": "3.2.4"
}
]
}
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": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"docker_image_name": "library/ubuntu",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > $fileName"
],
"setup_commands": [
"apt-get update -y",
"apt-get install -y wget"
],
"cached_dirs": [
"/build/test",
"/bin/Debug"
],
"variables": [
{
"key": "fileName",
"value": "ls.log"
}
],
"working_directory": "/buddy/my-repo-dir",
"shell": "SH",
"main_service_name": "my-app.svc",
"cacheBaseImage": true,
"services": [
{
"type": "MYSQL",
"version": "5.7",
"connection": {
"address": "mysql:3306",
"user": "root",
"password": "qwerty"
}
},
{
"type": "MONGO_DB",
"version": "3.2.4",
"connection": {
"address": "mongo:27017"
}
}
],
"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",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
Example for build action services
Parameters of the service
Name | Type | Description |
---|---|---|
type Required | String | The type of the attached service. Can be one of MYSQL , MARIADB , REDIS , MONGO_DB , POSTGRE_SQL , CASSANDRA , MEMCACHED , ELASTICSEARCH , SELENIUM_CHROME , SELENIUM_FIREFOX , GANACHE , RABBITMQ , CUSTOM . |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
volume_mappings | String[] | The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located). |
connection Required | Connection | The service’s connection details. |
persistent | Boolean | If set to true , the database content will be cached between executions. Available when type is set to MYSQL , MARIADB , REDIS , MONGO_DB , POSTGRE_SQL , CASSANDRA or GANACHE . |
version | String | The version of the predefined service’s base image. Required for every type except for CUSTOM . |
dump_path | String | The path to the SQL dump file that will be used to populate service’s database. Available when type is set to MARIADB , POSTGRE_SQL or MYSQL . |
docker_image_name | String | The name of the Docker image. Available when type is set to CUSTOM . |
docker_image_tag | String | The tag of the Docker image. Available when type is set to CUSTOM . |
registry | String | The url to the Docker registry or GCR. Available when type is set to CUSTOM . |
login | String | When type is set to custom, this is the username required to connect to private registry or GCR. |
password | String | When type is set to custom, this is the password required to connect to private registry or GCR. |
working_directory | String | The directory in which the commands are executed. Available when type is set to CUSTOM . |
inline_commands | String | The command that will be executed upon running the container with the service. Available when type is set to CUSTOM . |
volume_mappings | String[] | The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located). |
cached_dirs | String[] | The additional container’s directories that will be cached between executions. Available when type is set to CUSTOM . |
use_image_from_action | Boolean | If set to true the Docker image will be taken from action defined by docker_build_action_id . Available when type is set to CUSTOM . |
docker_build_action_id | Integer | The ID of the action which built the desired Docker image. If set to 0, the image will be taken from previous pipeline action. Available when type is set to CUSTOM . |
integration | Integration | The integration. Required for using the image from the Amazon ECR and Dockerhub. Available when type is set to CUSTOM . |
region | String | The name of the Amazon S3 region. Available when type is set to CUSTOM . Required for using the image from the Amazon ECR. The full list of regions is available here. |
wait_for_port | Integer | Build commands in the main container will be executed only if the entered service port is responding. Available when type is set to CUSTOM . |
execute_every_command | Boolean | If set to true all commands will be executed regardless of the result of the previous command. |
pass_variables | Boolean | Allow passing variables to this service. |
entrypoint | String | Default command to execute at runtime. Overwrites the default entrypoint set by the image. |
ignore_image_pull_failures | Boolean | if set to true , use cached image on timeouts (only for official images) Available when type is set to CUSTOM |
cache_base_image | Boolean | If set to true the cached version of the image is used, instead of being pulled each time. Available when type is set to CUSTOM . |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). Available when type is set to CUSTOM . |
Parameters of the connection item
Name | Type | Description |
---|---|---|
host Required | String | The hostname that will be available within the docker network upon the execution. |
db | String | The initial database name. Available when type is set to MARIADB , POSTGRE_SQL or MYSQL . |
port | Integer | The service’s connection port. |
user | String | Defines the username used in the desired service. Available and required when type is set to MYSQL , MARIADB , POSTGRE_SQL or RABBITMQ . |
password | String | Defines the password used in the desired service. Available and required when type is set to MYSQL , MARIADB , POSTGRE_SQL or RABBITMQ . |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Build application",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"docker_image_name": "library/ubuntu",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"services": [
{
"type": "CUSTOM",
"connection": {
"host": "custom.service"
},
"use_image_from_action": true,
"docker_build_action_id": 0,
"wait_for_port": 1234,
"working_directory": "/buddy/git-repo",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"cached_dirs": [
"/var/data/"
],
"pass_variables": true,
"entrypoint": "/bin/sh"
},
{
"type": "MYSQL",
"version": "5.7",
"persistent": true,
"connection": {
"host": "mysql",
"user": "root",
"password": "root"
},
"pass_variables": true
},
{
"type": "MARIADB",
"version": "10.1.16",
"persistent": true,
"connection": {
"host": "mariadb",
"user": "root",
"password": "root"
},
"pass_variables": true
},
{
"type": "REDIS",
"version": "3.2.1",
"persistent": true,
"connection": {
"host": "redis"
},
"pass_variables": true
},
{
"type": "MONGO_DB",
"version": "3.2.4",
"persistent": true,
"connection": {
"host": "mongo"
},
"pass_variables": true
},
{
"type": "POSTGRE_SQL",
"version": "9.5.3",
"persistent": true,
"connection": {
"host": "postgres",
"user": "root",
"password": "root"
},
"pass_variables": true
},
{
"type": "CASSANDRA",
"version": "3.11",
"persistent": true,
"connection": {
"host": "cassandra"
},
"pass_variables": true
},
{
"type": "MEMCACHED",
"version": "1.4.29",
"connection": {
"host": "memcached"
},
"pass_variables": true
},
{
"type": "ELASTICSEARCH",
"version": "2.3.4",
"connection": {
"host": "elasticsearch"
},
"pass_variables": true
},
{
"type": "SELENIUM_FIREFOX",
"version": "3.0.1",
"connection": {
"host": "selenium-ff"
},
"pass_variables": true
},
{
"type": "SELENIUM_CHROME",
"version": "3.0.1",
"connection": {
"host": "selenium-ch"
},
"pass_variables": true
},
{
"type": "GANACHE",
"version": "latest",
"persistent": true,
"connection": {
"host": "ganache"
},
"gas_price": 20000000000,
"gas_limit": 90000,
"accounts": [
"0xfd7ac8b32e8a2391cad323efd7b162d77dd9ca67806d09877552c38b618713a5:1000000000000000000"
],
"pass_variables": true
},
{
"type": "RABBIT_MQ",
"version": "3.7.8",
"persistent": true,
"connection": {
"host": "rabbitmq",
"user": "guest",
"password": "guest"
},
"pass_variables": true
}
]
}
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": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"docker_image_name": "library/ubuntu",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"services": [
{
"type": "MYSQL",
"version": "5.7",
"persistent": true,
"connection": {
"host": "mysql",
"port": 3306,
"user": "root",
"password": "root"
},
"plugins": [],
"pass_variables": true
},
{
"type": "MARIADB",
"version": "10.1.16",
"persistent": true,
"connection": {
"host": "mariadb",
"port": 3306,
"user": "root",
"password": "root"
},
"plugins": [],
"pass_variables": true
},
{
"type": "REDIS",
"version": "3.2.1",
"persistent": true,
"connection": {
"host": "redis",
"port": 6379
},
"plugins": [],
"pass_variables": true
},
{
"type": "MONGO_DB",
"version": "3.2.4",
"persistent": true,
"connection": {
"host": "mongo",
"port": 27017
},
"plugins": [],
"pass_variables": true
},
{
"type": "POSTGRE_SQL",
"version": "9.5.3",
"persistent": true,
"connection": {
"host": "postgres",
"port": 5432,
"user": "root",
"password": "root"
},
"plugins": [],
"pass_variables": true
},
{
"type": "CASSANDRA",
"version": "3.11",
"persistent": true,
"connection": {
"host": "cassandra",
"port": 9042
},
"plugins": [],
"pass_variables": true
},
{
"type": "MEMCACHED",
"version": "1.4.29",
"persistent": false,
"connection": {
"host": "memcached",
"port": 11211
},
"plugins": [],
"pass_variables": true
},
{
"type": "ELASTICSEARCH",
"version": "2.3.4",
"persistent": false,
"connection": {
"host": "elasticsearch",
"port": 9200
},
"plugins": [],
"pass_variables": true
},
{
"type": "SELENIUM_FIREFOX",
"version": "3.0.1",
"persistent": false,
"connection": {
"host": "selenium-ff",
"port": 4444
},
"plugins": [],
"pass_variables": true
},
{
"type": "SELENIUM_CHROME",
"version": "3.0.1",
"persistent": false,
"connection": {
"host": "selenium-ch",
"port": 4444
},
"plugins": [],
"pass_variables": true
},
{
"type": "GANACHE",
"version": "latest",
"persistent": true,
"connection": {
"host": "ganache",
"port": 8545
},
"gas_price": 20000000000,
"gas_limit": 90000,
"accounts": [
"0xfd7ac8b32e8a2391cad323efd7b162d77dd9ca67806d09877552c38b618713a5:1000000000000000000"
],
"pass_variables": true
},
{
"type": "RABBIT_MQ",
"version": "3.7.8",
"persistent": true,
"connection": {
"host": "rabbitmq",
"port": 5672,
"user": "guest",
"password": "guest"
},
"pass_variables": true
}
],
"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",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
Build action using private image from Dockerhub
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to BUILD . |
docker_image_name Required | String | The name of the Docker image. |
docker_image_tag Required | String | The tag of the Docker image. |
execute_commands Required | String[] | The commands that will be executed. |
integration Required | Integration | The integration. |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
volume_mappings | String[] | The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located). |
cached_dirs | String[] | The dependencies & directories to be cached and available to every execution in this pipeline. |
setup_commands | String[] | The command that will be executed only on the first run. |
services | Service[] | The containers with the services that will be attached to this environment. Available types: MYSQL , MONGO_DB , MARIADB , POSTGRE_SQL , REDIS , MEMCACHED , ELASTICSEARCH . |
execute_every_command | Boolean | If set to true all commands will be executed regardless of the result of the previous command. |
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Build application",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"docker_image_name": "buddyworks/private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"integration": {
"hash_id": "5ddb7c180fb38be67bd78a88a"
}
}
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": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"docker_image_name": "buddyworks/private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"integration": {
"hash_id": "5ddb7c180fb38be67bd78a88a"
},
"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",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
Build action using image from private registry
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to BUILD . |
docker_image_name Required | String | The name of the Docker image. |
docker_image_tag Required | String | The tag of the Docker image. |
execute_commands Required | String[] | The commands that will be executed. |
login Required | String | The username required to connect to the Docker registry. |
password Required | String | The password required to connect to the Docker registry. |
registry Required | String | The url to the Docker registry. |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
volume_mappings | String[] | The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located). |
cached_dirs | String[] | The dependencies & directories to be cached and available to every execution in this pipeline. |
setup_commands | String[] | The command that will be executed only on the first run. |
services | Service[] | The containers with the services that will be attached to this environment. Available types: MYSQL , MONGO_DB , MARIADB , POSTGRE_SQL , REDIS , MEMCACHED , ELASTICSEARCH . |
execute_every_command | Boolean | If set to true all commands will be executed regardless of the result of the previous command. |
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Build application",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"docker_image_name": "buddyworks/private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"login": "buddyworks",
"password": "top_secret_password",
"registry": "my.registry.com"
}
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": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"docker_image_name": "buddyworks/private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"login": "buddyworks",
"registry": "my.registry.com",
"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",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
#
Build action using image from Google Container Registry
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to BUILD . |
docker_image_name Required | String | The name of the Docker image. |
docker_image_tag Required | String | The tag of the Docker image. |
execute_commands Required | String[] | The commands that will be executed. |
login Required | String | The username required to connect to the Google Container Registry. |
password Required | String | The password required to connect to the Google Container Registry. |
registry Required | String | The url to the Google Docker registry. |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
volume_mappings | String[] | The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located). |
cached_dirs | String[] | The dependencies & directories to be cached and available to every execution in this pipeline. |
setup_commands | String[] | The command that will be executed only on the first run. |
services | Service[] | The containers with the services that will be attached to this environment. Available types: MYSQL , MONGO_DB , MARIADB , POSTGRE_SQL , REDIS , MEMCACHED , ELASTICSEARCH . |
execute_every_command | Boolean | If set to true all commands will be executed regardless of the result of the previous command. |
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Build application",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"docker_image_name": "tokyo-house-147623/private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"login": "_json_key",
"password": "${google_json_key}",
"registry": "my.gcr.com"
}
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": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"docker_image_name": "tokyo-house-147623/private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"login": "_json_key",
"registry": "my.gcr.com",
"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",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
Build action using image from Amazon ECR
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to BUILD . |
docker_image_name Required | String | The name of the Docker image. |
docker_image_tag Required | String | The tag of the Docker image. |
execute_commands Required | String[] | The commands that will be executed. |
integration Required | Integration | The integration. |
region Required | String | The name of the Amazon S3 region. Required for using the image from the Amazon ECR. The full list of regions is available here. |
cached_dirs | String[] | The dependencies & directories to be cached and available to every execution in this pipeline. |
run_as_user | String | All build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image). |
volume_mappings | String[] | The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located). |
setup_commands | String[] | The command that will be executed only on the first run. |
services | Service[] | The containers with the services that will be attached to this environment. Available types: MYSQL , MONGO_DB , MARIADB , POSTGRE_SQL , REDIS , MEMCACHED , ELASTICSEARCH . |
execute_every_command | Boolean | If set to true all commands will be executed regardless of the result of the previous command. |
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
JSON
{
"name": "Build application",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"docker_image_name": "private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"integration": {
"hash_id": "5ddb7c180fb38be67bd78a88a"
},
"region": "us-east-1"
}
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": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"docker_image_name": "private_image",
"docker_image_tag": "latest",
"volume_mappings": [
"/:/buddy/mount/directory"
],
"execute_commands": [
"ls -al > ls.log"
],
"integration": {
"hash_id": "5ddb7c180fb38be67bd78a88a"
},
"region": "us-east-1",
"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 16, 2022