What are best practice recommendations for frequently running CI/CD workflows?

Our intention is to run a CI job several times a day, for example on developer branch push, in which we

  • build our product,
  • create a Replicated release, channel, and customer for that branch
  • deploy to a test cluster
  • run our tests against that cluster
  • tear down
  • archive the channel and customer.

My questions are:

  1. Does this make anybody at HQ flinch? Are we making too many DB entries or other grief outside of the intended usecase?
  2. Is this roughly how everybody else does it?
  3. Is there a better idea?
  4. Is there some kind of Best-Practice CI/CD doc we might have missed in the scuffle?

Thanks for any thoughts.

1 Like

Hi @Mitch – not only does this not make me flinch, but you’re an inspiration to the rest of us – while it’s only a small subset of Replicated users that tests with this much regularity and diligence, I consider this level of testing and automation a best practice. In fact, in a 2019 Webinar, @evanphx walks through how the team at Hashicorp does something very similar when building and testing pre-release versions of Terraform Enterprise.

For those looking to learn more, there’s a doc with some CI/CD mechanics at Integrating with an Existing CI/CD Platform | Replicated Docs.

1 Like