We have a multi-site Drupal install set up on Acquia Cloud and have a local development team building out a site, this development work is version controlled in one of our own Github repos. This repo is connected to CircleCI, but currently CircleCI only runs the default Behat/PHPUnit tests on Pull request, it does not build a deployment artifact or push to the Acquia cloud git repo.

I am trying to understand what the best workflow is for the develop branch in our Github repo to be deployed to the development environment in Acquia cloud. In this scenario the developers building the site are not the same people pushing the changes to Dev.

I've had a look at a few examples of config.yml files such as https://github.com/fourkitchens/example-acquia-8-composer-circle2/blob/master/.circleci/config.yml but these use Composer. I'm thinking that we need to modify the yml file to run BLT commands which then in turn drive Composer rather than explicitly run 'composer install' for example.

I can see what looks like useful documentation at https://blt.readthedocs.io/en/latest/deploy/ and https://docs.acquia.com/tutorials/deploy/generating-deployment-artifact/ regarding setup for blt.yml and then generating a deployment artifact, but I'd really appreciate some advice on stitching it all together from the moment a PR is accepted to our Dev branch through to getting it on Acquia development server.

  • 1
    BLT has a built in command to do this. If you generate a ci file with BLT it should have an example inside of how that works. At the end of the build, the deploy command fires and sends it to the remote. I don’t understand though how you plan to reconcile config changes if people are touching Acquia dev but not pushing changes to the repos.
    – Kevin
    Commented Jan 18, 2019 at 13:34
  • 2
    Basically what I mean is, CircleCI does the push to Acquia after a successful build. I have 8 projects running this way currently on TravisCI.
    – Kevin
    Commented Jan 18, 2019 at 13:45
  • Thanks for the reply. People aren't touching Acquia dev separately. All changes are managed through commits to our Github repo. My question I guess is what changes do we need to make to blt.yml and circleCI's config.yml in order to push changes after PR to our dev acquia cloud environment? Our current circleCI config.yml is at gist.github.com/stuartabrown/b845c74294c57b8543f40c1963c32399 Commented Jan 18, 2019 at 14:32
  • 1
    You need an encrypted key accessible to the project to pull in so CircleCI will have access to git push to Acquia automatically
    – Kevin
    Commented Jan 18, 2019 at 15:02
  • 2
    I am more familiar with TravisCI - I assume the steps would be very similar
    – Kevin
    Commented Jan 18, 2019 at 20:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.