Remix.run Logo
▲ stingraycharles 36 minutes ago

We migrated to buildkite, as it allowed self hosted agents and lots of “building blocks” to extend stuff ourselves.

One of the things we really use heavily is dynamic pipelines, as we have a lot of different stuff.

In teamcity, we had close to 1k build configs, and were able to replace this with about 20 dynamic pipelines in buildkite.

We did need to do a bunch of plumbing, but in this age of AI it means our developers don’t have to rely on devops anymore to get their stuff done to make all this work.

One of the problems was that our devs were “afraid” to alter teamcity build configs, as it all was more fragile than it should be and they were afraid to break stuff.

Teamcity allows for customization with plugins, but all that is so bloated with either Java or Kotlin and requires a shitton of domain specific knowledge to pull off.

Buildkite is much simpler with YAML and their plugin infrastructure which is effectively just hooks into scripts. It’s well designed.