High level principles on which GoCD's roadmap is based
- Be universal and be extensible.
- Improve support for APIs and configuration as code.
- Improve user experience based on research into how GoCD is used.
- Produce more supporting content for improving the way people do CD.
Recent work
-
Making GoCD more cloud native:
- Easier installation experience on Kubernetes, using helm charts.
- Automatically configuring GoCD elastic agents to make agent provisioning flexible and on-demand.
- Improving GoCD's trial experience by providing easier ways of trying it (for instance: docker-compose).
- Commercial plugin for analytics.
Overall direction:
-
Make GoCD fit more natively with cloud providers and container schedulers:
Container scheduling systems such as Kubernetes are all the rage and we think they’re great for Continuous Delivery. They provide great support for infrastructure as code and to run services and applications. CD, as a concept, is necessary in this world as well. We propose to enhance GoCD’s support for these systems by:
- Enabling multi-cluster support for GoCD’s Kubernetes elastic agents and Amazon ECS elastic agents.
- Implementation-specific support for Kubernetes node management for Amazon EKS and Google GKE.
- Reducing the barriers to using elastic agents by bundling them with GoCD and defaulting to Docker container based elastic agents.
- Closer integration with Kubernetes for deployment of applications.
-
Help teams optimize their end-to-end delivery workflow:
This will be supported by:
- Enhancing GoCD analytics plugin to move from pull-based reporting to push-based insights on possible improvements to users’ defined end-to-end workflows.
- More content and evangelism around the importance of metrics to Continuous Delivery.
-
Make it easier for organizations to allow teams to self-provision their CD infrastructure:
Organizations want teams to be in control of their part of the CD infrastructure, while expecting CD tools to provide the ability for different teams to be separated. They also expect the ability to have an overall view of workflows across the organization. GoCD already provides the ability to have separation at the level of pipeline groups. We propose to enhance these capabilities by:
- Introducing personal access tokens for APIs.
- Secrets management support, with integration with Hashicorp Vault.
- More granular permissions such as:
- Ability to restrict what API tokens can do.
- Ability for super-admins to delegate control to non-admin users.
- Ability to control what configuration as code repositories are allowed to do.
- Allow configuration as code repositories to control more entities than pipelines and related entities.
- Allow defining which entities configuration as code repositories can affect (to be able to provide separate repositories to teams).
-
Improve the user experience of teams using GoCD:
We've leaned on user interviews and research to understand how people use GoCD and how teams practice Continuous Delivery. Based on insights from these conversations and research, we continuously improve the user experience of GoCD. Upcoming work in this area includes:
- Improved configuration as code experience: Reducing the feedback loop between making changes to the code and seeing your changes in GoCD.
- Improved experience of navigation from GoCD's dashboard to the logs of failing jobs.
Last updated: Apr 12, 2019