I am a DevOps engineer at a medium-sized company. Our team is super busy and we have a lot on our plate. Recently we decided to see where we can improve our productivity. One of our main responsibilities is to provide dev teams with different services they require (usually they open a ticket, sending a slack msg, etc…). As part of our efforts to improve productivity, we recently decided to assemble the most common popular “services” provided to devs and automate them using Jenkins. In addition, we allow devs to access Jenkin’s UI to spin up all kinds of jobs.
On one hand, it does allow devs to act on their own, on the other hand, I get a lot of backfires from different personas...
Devs
Why did this job fail?
Devs send me messages on slack that they got lost between all the Jenkins jobs, and they don't know which Jenkins Job is relevant for them. "I forgot the identifier of the machine I created"
Devs make mistakes and deploy to the wrong environment.
Why did my dev environment get terminated?
"Update me if you modify parameters"
etc...
Team lead
Let’s add a manual approval for these jobs
Make sure we have an audit log for every dev operation
Make sure we devs are not spinning to many machines
The developer team leader asked BI about these Jenkins Jobs because it became critical for developers' day-to-day.
etc…
Jenkins seems pretty limited to allow these capabilities and I am afraid to create a tech debt and put too much pressure on Jenkins :)
Do you have any suggestions? How do you manage it within your company?