At the end of the day I just want to make CI/CD easy. It's just something that I believe should come out of the box in some ways.
To me, Deployment Center is the closest thing to that.
Hook it up to a repository.
Select a branch.
Done.
- If the project won't build/has errors (by default) it won't allow the deployment.
- It logs each build/deploy in Deployment Center.
- Do the same for PRD and other environments.
- If a project doesn't work/has errors that can't be fixed, edited, go the traditional pipeline route.
It doesn't give you the most flexibility and I do have some questions on different projects, the choice of which it chooses by default, but when it works--it just works. If you don't have so many apps that it's hard to manage that way (individually), and you're in there anyway with configuration keys, etc. this is enticing.
And if you have varying degrees of developer levels on your team this is a great way to get everyone involved in the process but that's not too involved either. No build scripts. No releases, stages, environments, etc. Those may be needed/wanted, but if you just want to deploy after check-in, Deployment Center takes care of that for you.
While I understand it defeats the purpose to give it a lot of options, it does leave a lot up to this unseen entity doing our bidding, and I hope in the future maybe it gives a few more options to customize though.
Otherwise--sometimes it's okay to set it and forget it.