Knowledge

Build Application

Parameters
Name Description
action Required String The ID 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.
trigger_time String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
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.
shell String The name of the shell that will be used to execute commands. Can be one of SH or BASH (default).
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.
login String The username required to connect to the Dockerhub, private registry or GCR.
password String The password required to connect to the Dockerhub, private registry or GCR.
registry String The url to the Docker registry or GCR.
integration_id Integration The integration. Required for using the image from the Amazon ECR.
region 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.
trigger_condition String Defines when the build action should be run. Can be one of ALWAYS, ON_CHANGE, ON_CHANGE_AT_PATH, VAR_IS, VAR_IS_NOT or VAR_CONTAINS.
trigger_condition_paths String[] Required when trigger_condition is set to ON_CHANGE_AT_PATH.
trigger_variable_key String Required when trigger_condition is set to VAR_IS, VAR_IS_NOT or VAR_CONTAINS. Defines the name of the desired variable.
trigger_variable_value String Required when trigger_condition is set to VAR_IS, VAR_IS_NOT or VAR_CONTAINS. Defines the value of the desired variable which will be compared with it’s current value.
Example
actions:
  - action: "Build application"
    type: "BUILD"
    docker_image_name: "library/ubuntu"
    docker_image_tag: "latest"
    execute_commands:
    - "ls -al > ls.log"
    setup_commands:
    - "apt-get update -y"
    - "apt-get install -y wget"
    services:
    - type: "MYSQL"
      version: "5.7"
    - type: "MONGO_DB"
      version: "3.2.4"
    cached_dirs:
    - "/build/test"
    - "/bin/Debug"
    trigger_condition: "ON_CHANGE_AT_PATH"
    trigger_condition_paths: 
    - "/src"
    - "/tests"
    working_directory: "/buddy/my-repo-dir"
    shell: "SH"
Example
Using private image from Dockerhub
actions:
  - action: "Build application"
    type: "BUILD"
    docker_image_name: "buddyworks/private_image"
    docker_image_tag: "latest"
    execute_commands:
    - "ls -al > ls.log"
    login: "buddyworks"
    password: "${top_secret_password}"
Example
Using image from private registry
actions:
  - action: "Build application"
    type: "BUILD"
    docker_image_name: "buddyworks/private_image"
    docker_image_tag: "latest"
    execute_commands:
    - "ls -al > ls.log"
    login: "buddyworks"
    password: "${top_secret_password}"
    registry: "my.registry.com"
Example
Using image from Google Container Registry
actions:
  - action: "Build application"
    type: "BUILD"
    docker_image_name: "tokyo-house-147623/private_image"
    docker_image_tag: "latest"
    execute_commands:
    - "ls -al > ls.log"
    login: "_json_key"
    password: "${google_json_key}"
    registry: "my.gcr.com"
Example
Using image from Amazon ECR
actions:
  - action: "Build application"
    type: "BUILD"
    docker_image_name: "private_image"
    docker_image_tag: "latest"
    execute_commands:
    - "ls -al > ls.log"
    region: "us-east-1"
    integration_id: 1
Example
Using the build action services
actions:
- action: "Build application"
    type: "BUILD"
    docker_image_name: "library/ubuntu"
    docker_image_tag: "latest"
    execute_commands:
    - "ls"
    services:
    - type: "MYSQL"
      version: "5.7"
      persistent: true
      connection:
        host: "mysql"
        port: 3306
        user: "root"
        password: "root"
    - type: "MARIADB"
      version: "10.1.16"
      persistent: true
      connection:
        host: "mariadb"
        port: 3306
        user: "root"
        password: "root"
    - type: "REDIS"
      version: "3.2.1"
      persistent: true
      connection:
        host: "redis"
        port: 6379
    - type: "MONGO_DB"
      version: "3.2.4"
      persistent: true
      connection:
        host: "mongo"
        port: 27017
    - type: "POSTGRE_SQL"
      version: "9.5.3"
      persistent: true
      connection:
        host: "postgres"
        port: 5432
        user: "root"
        password: "root"
    - type: "CASSANDRA"
      version: "3.11"
      persistent: true
      connection:
        host: "cassandra"
        port: 9042
    - type: "MEMCACHED"
      version: "1.4.29"
      persistent: false
      connection:
        host: "memcached"
        port: 11211
    - type: "ELASTICSEARCH"
      version: "2.3.4"
      persistent: false
      connection:
        host: "elasticsearch"
        port: 9200
    - type: "SELENIUM_FIREFOX"
      version: "3.0.1"
      persistent: false
      connection:
        host: "selenium-ff"
        port: 4444
    - type: "SELENIUM_CHROME"
      version: "3.0.1"
      persistent: false
      connection:
        host: "selenium-ch"
        port: 4444
    - type: "NODEOS"
      version: "latest"
      persistent: true
      connection:
        host: "nodeos"
        port: 8888
      plugins:
      - "eosio::history_api_plugin"
      - "eosio::history_plugin"
      - "eosio::chain_api_plugin"
      - "eosio::chain_plugin"
      - "eosio::faucet_testnet_plugin"
      - "eosio::http_plugin"
      - "eosio::net_api_plugin"
      - "eosio::producer_plugin"
      - "eosio::txn_test_gen_plugin"
      - "eosio::wallet_plugin"
      - "eosio::wallet_api_plugin"
    - type: "GANACHE"
      version: "latest"
      persistent: true
      connection:
        host: "ganache"
        port: 8545
      gas_price: 20000000000
      gas_limit: 90000
      accounts:
      - "0xfd7ac8b32e8a2391cad323efd7b162d77dd9ca67806d09877552c38b618713a5:1000000000000000000"
    - type: "RABBIT_MQ"
      version: "3.7.8"
      persistent: true
      connection:
        host: "rabbitmq"
        port: 5672
        user: "guest"
        password: "guest"

Get started now

14 days of unlimited trial. No credit card required.