Skip to content
This repository has been archived by the owner on Jan 12, 2023. It is now read-only.

Example using docker-compose for local development and CI #8

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

ahobson
Copy link

@ahobson ahobson commented Aug 5, 2020

This is an almost certainly controversial approach, but I wanted to at least get the ideas out there. I used a similar pattern at a previous place with great success.

The benefits as I see it:

  1. Local development and testing work almost exactly the same way as CI
    1. There are some differences, but they are minor. It greatly reduces the need to understand CircleCI specific things
  2. Many projects can share a CircleCI config that is essentially the same with all of the logic being in the docker-compose files
  3. Ties us less to CircleCI. Any environment that can run docker can run our builds and tests. When we have a client not using CircleCI, we can still use many of our same techniques.

The downsides:

  1. CircleCI docker layer caching may not be as efficient/good as their workspace caching. We might have slower builds or have to do funky things to speed things up
  2. Parallelizing tests might be harder? Not sure until we try it
  3. docker is both good and bad. This approach is probably only successful if we invest in it/ commit to it

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant