How Indeed transformed its CI platform with GitLab

This post details Indeed's migration from Jenkins to GitLab CI. Key technical aspects include: the limitations of Jenkins' controller-based architecture for cloud-native environments, the adoption of the 'Golden Path' pattern for CI templates, the use of GitLab CI's template extension capabilities, and the implementation of an InnerSource model for community contributions to CI templates. The migration strategy involved identifying project types (Java Library, Python Cronjob, JavaScript Webapp), creating corresponding GitLab CI golden path templates, and using Sourcegraph batch changes for automated MR submissions. The post also describes the use of 'scream tests' to identify and deprecate unused Jenkins jobs and a phased approach to controller decommissioning, culminating in a 'white-glove' service for remaining teams.