Use the example files on this page to help you develop your own custom build definition files for Pipelines.
To determine if your build definition file uses valid YAML syntax, you can use an online validator, such as one of the following:
Before you run the
composer install command in a YAML file, to reduce
memory consumption in the container, Acquia recommends committing the
composer.lock file to your code repository.
For more information, see Pipelines build fails because of memory limitations on the Pipelines container article at the Acquia Knowledge Base.
The following example YAML files are available:
An example of build definition file syntax suitable for use with Node.js is available at Creating a Pipelines artifact for a Node.js application.
Here is an example of a complete build definition file:
# For more acquia-pipelines.yaml pipelines examples, see # https://docs.acquia.com/pipelines/yaml/examples/ # Must have a value of at least 1.0.0 # Version: 1.1.0 # Enables users to use a custom PHP version other than the default version. # For default and supported PHP versions, see # https://docs.acquia.com/pipelines/yaml/#php7 # Note: As PHP is available by default, user need not mention 'php' as # a service unless a custom PHP version is required. # Version: 1.2.0 # Adds support for the 'cde-databases' key in your YAML file. # Version: 1.3.0 # Adds memcached support. # For more info and supported versions, see # https://docs.acquia.com/pipelines/yaml/#version-key version: 1.3.0 # For more info on services supported, see # https://docs.acquia.com/pipelines/yaml/#services-key services: # mysql is supported from version: 1.0.0 - mysql # custom php version is supported from version: 1.1.0 - php: version: 8.0 # memcached is supported from version: 1.3.0 - memcached events: build: steps: - setup: type: script script: - composer validate --no-check-all --ansi - composer install - mysql -u root -proot -e "CREATE DATABASE drupal" - test: type: script script: - ./vendor/bin/phpunit
The scripts available in the copy-files-pipeline example in the pipelines-examples GitHub repository provide examples of copying files from any source environment to an on-demand environment in a Pipelines job.
For additional examples, see Managing your environments with Pipelines.
If you don’t want to use a Pipelines job to copy files, the article Serving files from production on development environments includes other suggestions, such as the Stage File Proxy module.
The following build definition file example creates an empty MySQL database:
# For more acquia-pipelines.yaml pipelines examples, see # https://docs.acquia.com/pipelines/yaml/examples/ version: 1.0.0 services: - mysql events: build: steps: - setup: type: script script: - mysql -u root -proot -e "CREATE DATABASE drupal"
Other example scripts for Pipelines jobs are available in the pipelines-examples GitHub repository.