I use Pipeline Multibranch Plugin
There are servers: dev, test, staging, production
When pushing to the dev - Jenkins branch automatically deploit it to the dev server
How to make it so that I could manually enclose any branch for test and for staging?
And if necessary - roll back.
It is not necessary to store artifacts, it is enough just to take a revision with git and pull the necessary branch along it
It even suits me if Jenkins just calls my bash script, passing the environment and revision into it, and then I'll do everything myself in the script
The fact is that before the merge brunch in dev, the tester must plug it into the test server and test it, so that if there are no bugs before the release, they will not have time to fix it, then we won't merge this brunch, but
Well, on styling and on prod naturally we want to deploy a mouse from jenkins, choosing a specific build
Similar to Attlasian Bamboo is very well implemented (although it stores artifacts), and after it this functionality is very lacking in Jenkins.
There it looks like this: 