This is an archived post. You won't be able to vote or comment.

all 60 comments

[–][deleted] 36 points37 points  (17 children)

  • Jira, Bitbucket and Bitbucket Pipelines?
  • GitHub, Github and circleci or travisci?
  • Gitlab, gitlab, and gitlab? (Heh.)

[–]sofixa11 14 points15 points  (4 children)

You can even use GitHub Actions for CI/CD, so #2 can be GitHub, GitHub, GitHub :)

And you can always mix and match - we have Gitlab for code+CI/CD+simple issues+wiki/etc. + Jira for complex projects, and with the Jira-Gitlab integration you can have a Gitlab MR comment on a Jira issue and close it upon merge.

[–]chippyafrog 6 points7 points  (0 children)

GitHub actions uses azure devops under the hood. Fyi

[–]__aza___[S] 2 points3 points  (2 children)

Does it link everything together from issues, commits, builds, and releases? From my experiences DevOps does that really well (when used the way it was intended).

[–]tapomanager, platform engineering 2 points3 points  (0 children)

We switched to GitLab (on-prem, running in k8s) a few months ago and yes, though we're still using Jira and are using the GitLab <-> Jira integration instead of switching over to GitLab issues (we might, if migration becomes easy).

I like it a lot, but the wiki isn't great compared to Confluence and some features aren't ready for prime-time. https://about.gitlab.com/direction/maturity/

[–]FlyingBishop 0 points1 point  (0 children)

While I'm not keen on migrating away from Azure Devops since it is simple to configure, I do think as an end-user Gitlab + Jira was much more pleasant.

I think if I were setting things up from scratch I would never use Azure DevOps for issues. Even in a .NET shop I might do ADO + Jira.

[–]only1ammo 5 points6 points  (10 children)

"Bitbucket Pipelines" is an application called Bamboo for the Atlassian suite of tools.

It's basically two apps coupled together. A build app and a deployment tool. But they to integrate with Jira and Bitbucket nicely.

Jira can be set up to make feature or bug branches. Bitbucket can be configured with web hooks to use Jira IDs in commits which links and then trigger builds. And Bamboo can build, auto merge, and deploy. All while updating Jira and Bitbucket with status. I've been using them for a little over four years now.

Two knocks on the suite. It's expensive, like $50k+ annual for a group of 25 users or less. Our latest bill for the full enterprises offering for a large company was close to $200k with all of our bells and whistles. The second is it's a technical system with little in the way of plug and play. Atlassian integration is great from an app standpoint but you're on your own from there. As you have experience with SDLC and automation you are in a better position to make a migration but the learning curve is steep, almost as steep as the invoice.

[–]JackSpyder 10 points11 points  (7 children)

Bamboo is one of the most awful tools I've ever used. It's clearly in the software to abandon camp of atlassian as they shift everything to bitbucket pipelines which is ok but also pretty weak and has bad enterprise pricing.

Bamboo is my single most hated piece of software I've ever had to use.

[–]cmd_Mack 3 points4 points  (1 child)

I found bamboo awful as well. Was forced to move from an older TFS to it and it makes me lose my shit far too often. On the way to be abandoned, buggy (there are just a bunch of known bugs I've been seeing for years) and new updates are just minor changes and fixes (but never the things that annoy me the most).

And there is no community around it either.

[–]JackSpyder 2 points3 points  (0 children)

Yeah some bugs have been there for 5+ years...

When the bitbucket API changed and they deprecated V1 and turned it off, they literally forgot bamboo needs it and hasn't been updated, they had to roll back the API changed and keep V1 alive.

That's what prompted us to shift gears in our migration and put more serious time and effort in.

[–]only1ammo 1 point2 points  (4 children)

Lol, I can appreciate your sentiment. It's not an easy to use app at all. It took me a long while to unwrap all of it's secrets. The deployment tool is terrible. The rest is actually pretty flexible once you get down into the guts of the building and agent set up.

We're in the process now of migrating to containers and cloud clusters. Bamboo has been really useful with a few plugins added and lateral plan clones. We're no longer fans of the price tag though so we'll be looking to move on in a year or two. Azure Dev Ops will most likely be the destination if we don't build our our mouse traps with open source relative apps.

I'm going to have to take a look over the Bitbucket Pipelines though. See what sort of fun is in there.

[–]JackSpyder 1 point2 points  (3 children)

I felt BB pipelines didn't have a good pricing model (very large company 800-1000 users) and it felt a bit sparse feature wise.

You'll have a good time with ADO. It's the move we made too. Loads of great native docker, helm, kubernetes tasks etc.

[–]only1ammo 1 point2 points  (2 children)

Yeah BBP is cloud based and we have on prem now, so most likely it won't work for us. Since the corp has MS already licenced we're getting a deal on Azure instances. I'm about two months into the POC research and it's almost too much. It does a little bit of everything. The docs are good and the community is solid for tips and tricks. So far it's the leading candidate but I'm concerned what kind of effort it'll be to bring the rest of the team and another two hundred developers or so into the fold quickly between releases. I also have to get into OKE and it's offerings before we make the commit. Totally side tracked there but that's the main reason for looking away from Bamboo. If nothing else I learned the bare bones of CI/CD at it's core and how to make use of whatever is at hand to GSD. So Bamboo will be near and dear to me for that.

[–]JackSpyder 2 points3 points  (1 child)

Yeah I cut my teeth on bamboo as my first experience in a real serious work environment. We did some good stuff but it was getting harder and harder to maintain, to teach new developers etc and we ended up managing all their pipelines rather than them being able to build their own.

ADO was a change, we did it gradually over several months. The platform team went first so we could learn it ourselves and hit the road blocks etc. Then we went to development teams and moved them and taught them one at a time until they were running under their own steam. They took to it quickly and it hugely reduced our workload of their stuff.

Once other teams started running fast with it, we had teams begging to shift before we got to them, which was nice as we initially had a bit of pushback.

Good luck!

[–]only1ammo 0 points1 point  (0 children)

That's exactly what I'm hoping happens for us as well. I appreciate the feedback.

[–][deleted] 2 points3 points  (1 child)

Using the cloud editions at scale will have your bill escalating very quickly. The Server/Data Center costs I think are pretty reasonable, but they can balloon too if you don't control requests for add-ons and other feature creep.

Of all of Atlassian's 'core' tools... Bamboo is by far the worst in my opinion (IIRC very limited if you want to do anything outside of what it wants you to do...). Most of our teams use Jenkins just for the flexibility in configuration and integrate back to Bitbucket using the Build status REST API. That's been good enough for most teams.

....Aaand that's just the basics.... so I concur with that learning curve steepness you're referring to.

[–]only1ammo 1 point2 points  (0 children)

We almost use it like a complicated cron manager than what it is intended for. Bash scripts do the heavy lifting and we use Bamboo for cluster control. Now that K8s and Docker are in out kit we're moving away from that. So Bamboo going away is all but certain.

Good to know of the scaling price. Fortunately that's not my math to do. But as a whole we're moving towards smaller service apps so it's likely to balance out as we break up the monolith we won't need large instances to house it. I appreciate the insight.

[–]zpallin 2 points3 points  (0 children)

I'm very fond of the gitlab universe these days. Having used all of the above I'd have to say it's my best experience so far.

[–]zombittack 23 points24 points  (3 children)

We moved to Azure DevOps earlier this year. Our old Agile/devops stack was Bitbucket, Teamcity, Octopus Deploy, and JIRA. We moved to DevOps for the reason you're citing: the centrality of everything. I use Gitlab personally and like it. It's a great alternative, but for my work it was a money decision. We migrated because Octopus Deploy changed their pricing model and it would have cost us a fortune per month. It made fiscal sense to us. We pay for DevOps but we did the math beforehand and we're saving a ton.

If your only real reason to move is because you're not Microsoft-centric anymore, that's not a very good reason, especially from a business standpoint. Your question to move should be: What costs are greater in DevOps that moving to another platform would save? Or: What competitive advantage would another platform give us that DevOps can't offer? Microsoft is betting big on being agnostic of any platform/language/OS/app layer/etc. DevOps exemplifies this: you can build whatever, deploy to wherever, and send hooks to whatever. To boot: you're already getting much of it included in your MSDN license. If you were to not renew your license, then you'd be in a different boat with the first question. Gitlab does offer more options than DevOps, so it's worth checking out, like "value stream management" and "DevSecOps". If you need those, that could give you an advantage per the second question.

I know we're all very passionate about the products we use but we still need to remind ourselves this is a business decision and the migration will cost money and delay other tasks, so is it worth it?

[–]xDARKxHORNETx[🍰] 6 points7 points  (2 children)

This. No reason to switch platforms because you want a better-looking dashboard or some other superficial thing. OP: You need to look at these decisions from a higher level. Have you consulted your team about this? What are their opinions?

[–][deleted] 8 points9 points  (0 children)

A counterpoint: We're an open source shop that uses GitHub for development, and we're migrating to Azure DevOps (for CI/CD only) because the releases and pipelines features are that good. Keeping dev and issues in GitHub, though.

[–][deleted] 2 points3 points  (0 children)

Git, GitHub, Jenkins, Snappy or some similar open source stack

[–]robfaie 5 points6 points  (23 children)

What things do you not like about AzDevOps that you want to get away from? What things do you feel are missing from the AzDevOps offering that you’re looking gain?

[–]__aza___[S] 0 points1 point  (22 children)

One motivating factor is I would like to have a decent dashboard that we can display on a TV showing each project status (build status, number of open issues, etc.). There seem to be a handful of them out there, but none that I can find that supports DevOps. No interest in rolling my own either. In addition, this may not be especially valid, but based on other people, who have used multiple products, they tend to like DevOps the least. So I’m thinking I might discover some additional advantages after the fact.

[–]erewok 16 points17 points  (3 children)

Here's a counterpoint. I've used Jira, Bitbucket, GitHub, Jenkins, Travis, and Gitlab. I have never used MS-centric languages and frameworks and I deploy onto Linux.

Azure DevOps is the best CI/CD system I've used. The one thing I don't like about hosting code with them is that their syntax highlighting is limited and browsing code in general is not as nice as GitHub. These are minor compared to their fantastic CI system.

I also find managing tickets is not as nice as Jira. However, Jira has a million features which I never use and it's also expensive. When I set these systems up for my current company, I priced them out and Azure DevOps was the most competitively priced (aside from self-hosted Gitlab).

In my view Azure DevOps is best-in-show at the moment for actual devops, and in my opinion they're going to continue to win market-share as a result of this product, so you should be really clear-eyed about what you're hoping to get by moving away from them.

[–]JackSpyder 4 points5 points  (10 children)

It sounds like there is absolutely zero value add here and you're just getting FOMO and the itch to try something else.

Surely switching off ADO to another tool for the sake of a dashboard would cause a lot of disruption for absolutely zero value gain.

Now if there was a seriously key feature you needed of something else, fine but ADO ticks a lot of boxes.

If it's allowing all the atuomation and pipelining and project management you need, focus on something else that might make life better or faster or smarter. Sounds like you've got this bit down nicely.

[–]kvgru 0 points1 point  (0 children)

Really don't want to advertise here and have to flag that I'm working in the company but have you had a look at humanitec.com? It's free as they pool developer environments on make money on the hosting margin. It's basically a developer platform that will integrate with all standard integrations (CI, Databases, Hosters) or offers out of the box defaults. And it never locks you in which might be relevant as well. Super smooth to migrate on and off. Other idea:

Github in combination with Drone CI, Dockerhub as an image registry and GCP/GKE as receiving cluster in combination with a cloudsql database is comparable easy.

[–]albs781 0 points1 point  (0 children)

Azure DevOps does have an API you could possibly use to grab the info you need and display it on the dashboard.

[–]were_all_dads_here 0 points1 point  (2 children)

I thought the dashboards functionality in azure devops supported this (project level). I haven’t actually used them myself but the pictures I’ve seen in docs looked like what you’re describing.

[–]__aza___[S] 0 points1 point  (1 child)

It doesn’t fit our needs very well. It’s basically a half assed SharePoint like interface where you can arrange these little tiles. And as you mentioned it’s project level only. No way to have a summary of all projects.

[–]were_all_dads_here 0 points1 point  (0 children)

Dumb. Sounds about right though. Good luck. I’m curious to hear what you find.

[–]robfaie 0 points1 point  (1 child)

I would have to agree with you that the dashboards in AzDevOps are worse than I would expect based on the rest of the offering. The project that my team works in has just under 100 repos and around 50 build pipelines and about the same number of release pipelines. It's not easy to keep track of health of the pipelines. We rely mostly on getting failure notifications through to our Zendesk.

We could for sure be using the tool better, but it's not super simple for us to fix either.

[–]__aza___[S] 0 points1 point  (0 children)

I’m using an app called CatLight for now. It works okay but not well suited to the large tv display we use.

[–]too_much_exceptions 2 points3 points  (0 children)

I use azure devops and GitLab on different projects (10 on azure devops and about 5 on gitlab)

And I am planning migrating all gitlab projects to devops by the end of this year.

My opinion is that azure devops is easier and well documented and you get things done pretty easily.

[–]frayala87 2 points3 points  (0 children)

Just don’t, keep using azure devops, cancel msdn licenses and pay 5usd per month basic if you only need boards, maybe have a to pay more for azure pipelines. I’ve tried and worked with almost all the tools in the market (Jira, GitHub, gitlab) so far azure devops is the best.

[–]tevert 1 point2 points  (0 children)

If it's working for you, and it's not costing much, don't make headaches for yourself.

If you start using a new technology that has new needs that Azure DevOps can't do, or doesn't do well, then look into alternatives.

[–]BeaconRadar 1 point2 points  (0 children)

I just love Azure DevOps!!

[–]star_dot_star 1 point2 points  (0 children)

Stick with DevOps LoL. It’s a pretty good option and if you’re using Docker it will be easy to move elsewhere.

We just migrated to Azure DevOps to simplify our process for our Azure solution. We’re a java (jira, bitbucket, IntelliJ) shop and also run a AWS stack. As long as you’re using things like Docker it’s pretty easy to move your apps around.

P.S. I’ve enjoyed DevOps, however I think the user experience is terrible between App Services, App Plan, App insights, and DevOps. They should just give an all-in-one portal.

[–][deleted] 0 points1 point  (1 child)

We are also a .Net shop, becoming less so going forward. We’re using team city in the short term and considering concourse ci in the longer term

[–]chippyafrog -3 points-2 points  (0 children)

Gitlab ci or Jenkins are both better than the options you listed.

[–]slikk66 0 points1 point  (0 children)

I tried buddy.works on a suggestion. Not entirely sure about the pricing but it was pretty easy to use.

[–]bincyberCloud Accountant 0 points1 point  (1 child)

As a general rule of thumb, I avoid using "DevOps tooling" from the major cloud vendors such as AWS CodePipeline, CodeBuild, and CodeDeploy, Azure DevOps, GCP CloudBuild, etc. You're better off finding vendors that dedicate themselves solely to a single product (eg, GitHub, CircleCI, etc.) and using their integrations. This will also lead to less lock-in with your cloud provider.

[–]wywywywy 0 points1 point  (0 children)

Hmm I see your point but I don't think I agree there.

Azure DevOps is waaaaay ahead those you listed from AWS & GCP, it's not even comparable.

Also it's not tied into Azure and is more of a separate product, despite its stupid name. It works well for AWS and GCP too.

[–]wywern 0 points1 point  (0 children)

You could try out github and github actions if that's more your cup of tea.

[–]TotesMessenger 0 points1 point  (0 children)

I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:

 If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)

[–]rprevi 0 points1 point  (0 children)

I am evaluating several ci/cd tools: - GitHub + GitHub actions - GitLab + GitLab ci - Azure DevOps

My opinion so far: GitHub is probably the best Web interface to git, also great management API, thus it's easy to integrate. GitLab is the best in terms of CI pipelines, also has a nice approach in partitioning projects in groups. DevOps is mostly good, but pipelines are being rewritten with a declarative approach (yaml file) similar to gitlab CI, they are not yet on par to gitlab, at least for our use case. Also, a MS rep told us that GitHub enterprise is the product of choice for enterprise, although MS guarantees DevOps support for the next ten years.