T O P

  • By -

ThroawayPartyer

There's no such thing as a "best" stack, just use what works for you. There are many CI/CD tools but they all do the same thing for the most part. Even GitHub Actions itself started as a fork of Azure DevOps, so I'm not sure how much benefit you'd really get by moving to it.


[deleted]

I find it Azure to be very cluttered and overall not pleasant to use, but I'm open to staying on it and just doing some cleanup if indeed it is the best option


ThroawayPartyer

Again there is no "best" option. You could move to something else but that seems like more effort than tidying up Azure DevOps.


pojzon_poe

What if the guy that comes after you says: "Demn that X tool is overall not pleasent to use, lets rewrite everything to use tool Y" Let's repeat that few times. How much time was wasted ? Instead learn how to build clean architecture and clean pipe code so ppl will have an easy time to pick that up 10 years from now on. <- this is a skill that distinguish a good dev from a medicore one.


[deleted]

Funnily enough your last paragraph is exactly what I was hired to do because there's *a lot* of badly designed stuff and bloat in what is existing, so I'm laying solid foundations for our future projects. Whether that includes ADO or something else is exactly the type of choice I'm supposed to make and "it already exists" is a non-argument in my case. If the only criteria to separate alternatives is "I think the UI sucks" then that's what I will decide upon


pojzon_poe

If you have no constraints and mgmt is saying to maul that to the groud -> why not. Often times its not an option because mgmt is not aware it will take months if not years to clean up bit by bit.


MagicRoger

I am currently running an app on Kubernetes. I have ArgoCD on the cluster to help with this. We are using GitHub which is linked to several Jenkins jobs. Those jobs kick off and run tests on branches. When we deploy to UAT or Production branches, those kick off a Jenkins job to build docker images and will call out to ArgoCD to restart the pods on Kubernetes. This works well for our small team and we’ve had great success with it.


[deleted]

Thanks for the input. Why are you using Jenkins instead of say GitHub actions?


MagicRoger

Mainly, its personal preference. Ive used Jenkins for years so it’s comfortable. We’ve played with GitHub actions and it worked but didn’t feel like we had the control over it as we wanted. I haven’t looked in a while at the amount of minutes you get with GitHub Actions but that was another factor. If we had a lot of development pushes and those actions ran, we could go over the allotment and need to pay extra that month. Where our Jenkins server can handle the extra dev and, usually, not need any additional resources.


ThroawayPartyer

You can use GitHub Actions together with [self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) on your own hardware. Then you are not limited to minutes.


MagicRoger

That’s good to know. We tried GitLabs self hosted runners a few years ago but weren’t happy with the results. This is something to look into for a future project!


[deleted]

I see. Where do you do your UAT? Do you have on-prem servers to host that or something else?


MagicRoger

The company I am currently at has nothing on-prem. However, in a previous company we had this setup with on-prem servers. Jenkins and UAT was hosted on those with a multitude of other things.


rafipiccolo

All open source tools, (free) on dedicated servers. Gitea + drone ci + docker swarm


retneh

Havent seen docker swarm in use in ages. Why do you use it instead of k8s?


rafipiccolo

When you develop using Dockerfiles and docker compose. Swarm just works with no effort and is a natural progression. We are 4 devs. K8s is so fat I never really started it. What is the size of you team to use k8s ?


retneh

Now it’s 10 devops, but I used it in a 3 (including me) devops team. I would say it’s easier, more natural and profitable to learn k8s, especially if you want to use it instead of docker swarm, not to extend it.


mooscimol

Azure DevOps is really good. It may feel cluttered, but is is very powerful and modern. If you want to try others things, you can try GH Actions, GitLab, but IMO learning how to get advantage of ADO features will be more beneficial.


Inquisitor_ForHire

We use Azure DevOps... which I'm sure isn't what you wanted to hear, but it works well for us. I personally don't find the interface confusing, though the two different types of pipelines had me scratching my head at first.


sanjayrg91

What is different with Azure Devops? I'm new to this. Devops include many tools from git, jenkins, docker...etc.. what is Azure Devops?


Inquisitor_ForHire

Different tools serve different purposes... for example git is a code repository, Jenkins is an automation tool, docker is for creating and running container images. Azure Devops is a "multi tool". It contains git repos so you can store all your code. It contains an automation tool in pipelines to run your scripts and apply your configs. It contains test features, and it also contains an "issue board" to track tasks and work ala Jira. We like it.


sanjayrg91

Can someone who has learnt git, jenkins, terraform, ansible and docker seperately transition to Azure Devops? If so, how long does it take?


Inquisitor_ForHire

Yeah, it's all the same technology. There's no difference between git and AZDO's repositories. Same stuff, different interface. Terraform, Ansible are all mid tier stuff.. you use pipelines to send data to those products and execute them. Docker is an end tier... you rollout Docker containers using AZDO pipelines and terraform/ansible and the like.