Episode
Ship It Conversations: Stephane Moser on Pipedrive’s Jenkins-to-GitHub Actions Migration, Argo CD, and CI/CD at Scale
- Published
- Apr 19, 2026
- Duration seconds
- 3065
- Processing state
not_requested- Canonical source
- https://rss.com/podcasts/ship-it-weekly/2746448
Actions
POST https://stenobird.com/v1/public/podcasts/ship-it-weekly-devops-sre-platform-and-cloud-engineering-news-7591275/episodes/ship-it-conversations-stephane-moser-on-pipedrive-s-jenkins-to-github-actions-migration-argo-cd-and-ci-cd-at-scale/transcription-requests
Idempotently request low-priority transcript generation for this episode.GET https://stenobird.com/podcast/ship-it-weekly-devops-sre-platform-and-cloud-engineering-news-7591275/ship-it-conversations-stephane-moser-on-pipedrive-s-jenkins-to-github-actions-migration-argo-cd-and-ci-cd-at-scale.md
Read the agent-friendly Markdown representation of this episode resource.
Summary
This is a guest conversation episode of Ship It Weekly , separate from the weekly news recaps. In this Ship It: Conversations episode, I talk with Stephane Moser about Pipedrive’s move from Jenkins to GitHub Actions, building self-hosted runners on Kubernetes, shifting deployments toward GitOps with Argo CD, and what it actually takes to roll out a big CI/CD change across a large engineering org. We talk about why Jenkins had become painful, from Groovy friction to noisy-neighbor problems on shared VMs, why GitHub Actions fit better, how reusable workflows and custom actions helped, why Argo CD beat out Flux for their use case, and how they had to build better observability and internal deployment visibility around GitHub as they scaled. The bigger theme here is that this was not just a tooling swap. It was a product and platform migration. Isolation, repeatability, self-service, rollout strategy, and observability mattered just as much as the actual CI/CD tools. Highlights • Why Jenkins stopped working well for them: Groovy friction, shared VM contention, and poor predictability • Replacing CodeShip pull request validation first as the low-blast-radius starting point • Using Actions Runner Controller on Kubernetes with EKS and Karpenter for self-hosted runners • Why reusable workflows and custom actions helped cut repetition across hundreds of services • Choosing Argo CD over Flux, Argo Workflows, Tekton, and even a short Spinnaker attempt • Moving from push-based deploys toward GitOps for better isolation and safer credentials handling • Building internal observability because GitHub’s workflow visibility was not enough at their scale • Dogfooding first, then rolling migration out in batches until teams could self-serve the move • What broke when the new system actua…