Acquia Pipelines is a continuous delivery tool to automate development workflows for applications hosted by Cloud Platform. With Pipelines, you can:
- Manage your application’s source code on third-party Git infrastructure, and seamlessly deploy to Cloud Platform.
- Use tools like Composer or
drush make
to assemble your application’s components and dependencies. - Use technologies such as Sass and Typescript to compile application source code.
- Control which developers or teams have permission to change different parts of your application code base.
Note
Pipelines is FedRAMP, ISO, SOC1, SOC2, CSA STAR, ISO27001, and HIPAA compliant.
How Pipelines works
Pipelines executes the instructions you provide, transforming application source code into a build artifact which you can then test and deploy. Here is how Pipelines works:
- Create a build definition file, hosted in your Git repository. For an example, see acquia-pipelines.yaml.
- Connect Pipelines to your repository, whether it’s hosted by Cloud Platform or externally at Bitbucket or GitHub.
- Trigger Pipelines jobs when creating or reopening pull requests, pushing commits, or pushing tags. You can also trigger jobs manually through the user interface, or the command-line client’s pipelines start command.
- Pipelines clones the Git source repository and checks out the specified branch.
- Pipelines looks for a YAML-format file named acquia-pipelines.yaml in the selected Git branch, and executes its instructions in your container. The instructions have access to environment variables, and can perform multiple actions in a single Pipelines job, such as assembling your application from different code bases, transforming source files into compiled files ready to deploy, and running tests.
- If the Pipelines job is completed without errors, Cloud Platform commits all the files and directories created by the instructions as a build artifact, named
pipelines-build-[BRANCHNAME]
, to a build branch in your application’s Cloud Platform Git repository, which you can deploy programmatically or manually. Other repositories can’t be targets. - You can view the results of each job with the Pipelines user interface in Cloud Platform, the status posted to your pull request on your third-party code repository, and the
pipelines status
andlogs
commands.
For a list of software available in your container, and resource limits on Pipelines jobs, see Resources for Pipelines jobs.
Availability of Pipelines
Pipelines is available as an add-on for Cloud Platform Enterprise and Site Factory subscribers, and requires Cloud Platform CD on Cloud Platform. To obtain Pipelines for your subscription, contact your Account Manager.
Using Pipelines with Site Factory
Pipelines is available as a continuous integration tool for Site Factory subscribers. When configuring Pipelines for a Site Factory, be aware of the following issues:
- On-demand environments are not available for Site Factory.
- Pipelines is available as a continuous integration tool only.
- Pipelines is available in the Cloud Platform user interface, and not in the Site Factory Management Console.
- The Cloud Platform teams and permissions system, not the Site Factory Management Console, controls access to Pipelines.
Getting started
Use the following general steps to start using Pipelines for your website development and testing:
Confirm your Cloud Platform account’s role has the Execute Pipelines permission. You may also need the Add an environment permission.
Note for Site Factory subscribers
These permissions must be assigned through the Cloud Platform teams and permissions system, and not the Site Factory Management Console.
- (Optional) Connect your application to an external Git repository.
- Ensure your application is running either PHP 7.4, 8.0, or 8.1.
- Create a build definition file.
- Start a Pipelines job in the Cloud Platform user interface or the command-line interface.
Important
Pipelines executes subsequent jobs using the credentials of the user who first executes a Pipelines build. For more information on how to update to another user, see User permission issues.