Constructing a Build Pipeline

Given the upcoming demise of snap-ci I have been working on finding a replacement.

Snap-ci allowed my team to work exclusively on a single master branch and have tests run on every push. From this it could be manually pushed to a series of environments in a strict order:

qa -> demo -> live

We assessed a large range of cloud hosted providers to attempt to replicate this.

Gitlab came close, but was too unreliable  (eventual consistency left a ui that was inconsistent on a single page!)

Circle-ci is our current contender. We can build everything that we need but temporarily  have resorted to Jenkins to provide our deployment pipelines. Circle-ci have promised that these will be available soon (within a few months).

Circle CI does respond very rapidly to git pushes (something that snap-ci had been rather sluggish). The integrated error log viewing is a distinct improvement  (snap made you download a tarfile containg a zip of the test reports – it was three steps to see the detailed error).

We looked at using heroku build pipelines but found it lacking in the hooks needed for pre-deploy steps. We use these to trigger our database migrations (also cdn and cms configuration ) before restarting the apps.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s