I2P Onboarding/adoption
Work on onboarding and adoption is needed to actually deliver on the vision of people using GitLab for getting their ideas into production. The demo is great, but we have a long way to go to make it easy for everyone to use. This should be fleshed out and planned for immediately.
There's a grab-bag of ideas already. The trick is to figure out which minimal set of these (or new ideas) will make the most difference and result in a clean flow from beginning to end.
Auto Deploy has been a great experiment, but feels like it's hitting the end of its runway in value, until we improve things elsewhere. In particular, we can make it easier to create and manage kubernetes clusters, or better yet, provide some amount of compute for free to make it really easy to get started.
- GKE integration: https://gitlab.com/gitlab-org/gitlab-ce/issues/35956
- Everyone gets a cluster: https://gitlab.com/gitlab-org/gitlab-ce/issues/32731
We can improve Auto Deploy, now in Auto DevOps.
- Auto DevOps++: https://gitlab.com/gitlab-org/gitlab-ce/issues/38366
But while Auto Deploy makes a great demo, it's opaque, not configurable, and doesn't teach people how to grow their CI/CD usage over time. We can make using CI/CD Pipelines easier. Make it easier to create .gitlab-ci.yml
, or make it unnecessary to create one at all.
- Auto DevOps (beta): https://gitlab.com/gitlab-org/gitlab-ce/issues/37115
- Auto DevOps++: https://gitlab.com/gitlab-org/gitlab-ce/issues/35712
- New project from template (rails, node/express, spring): https://gitlab.com/gitlab-org/gitlab-ce/issues/32420
- Pro-active .gitlab-ci.yml creation: https://gitlab.com/gitlab-org/gitlab-ce/issues/28351
- CI/CD onboarding: https://gitlab.com/gitlab-org/gitlab-ce/issues/31166
- Implied gitlab-ci.yml: https://gitlab.com/gitlab-org/gitlab-ce/issues/34777
- Make auto deploy "zero click" configuration: https://gitlab.com/gitlab-org/gitlab-ce/issues/28908
- Enable CI/CD with checkboxes: https://gitlab.com/gitlab-org/gitlab-ce/issues/32553
- Show job configuration: https://gitlab.com/gitlab-org/gitlab-ce/issues/30737
- CI language generator (wizard): https://gitlab.com/gitlab-org/gitlab-ce/issues/14266
- Visual editor for
.gitlab-ci.yml
: https://gitlab.com/gitlab-org/gitlab-ce/issues/21485- GUI builder comes to mind immediately to help here, with perhaps an integrated samples library that could eventually have intelligence eventually to suggest steps or even a full YML.
- Long shot, but could we have an importer for other CI tools? Detect a Travis CI file and convert?
- Notification emails for Auto DevOps:
We could also make it easy to make the other components of a good CI/CD pipeline such as:
- Creation of Docker containers
- Since we are starting from (I think) an assumption we are running on a cloud provider here, could we help people create Dockerfiles? If we do this, CI may still be manual but CD could get really easy? (Note, we now have Dockerfile templates)
- Creation of Helm chart
For ChatOps onboarding, we need:
- Instance-wide chat integration: https://gitlab.com/gitlab-org/gitlab-ce/issues/32713
- Group-wide chat integration
- Support multiple projects with single chat trigger word: https://gitlab.com/gitlab-org/gitlab-ce/issues/24770
Application Performance Monitoring onboarding (Prometheus):
- Single click deploy of Prometheus to k8s cluster: https://gitlab.com/gitlab-org/gitlab-ce/issues/28916
- Leveraging proxy API to seamlessly connect to internal k8s resources (like Prometheus) https://gitlab.com/gitlab-org/gitlab-ce/issues/30480
- Then of course the 9.3 main deliverable of autodetecting and adding metrics: https://gitlab.com/gitlab-org/gitlab-ce/issues/30369
Links
- Part of GitLab DevOps - Big I2P areas: https://gitlab.com/gitlab-org/gitlab-ce/issues/32639
- Onboarding demo (I2P/CI/CD): https://gitlab.com/gitlab-org/gitlab-ce/issues/32732