Live data from Hacker News

Microsoft’s Azure DevOps: An Unsatisfying Adventure

toxicbakery.github.io

181–190 of 197 posts

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#181

My mind was blown when we invested a week in setting up DevOps, then realised it has a critical flaw in that the automated build agent will just go into hibernation if there was no build activity for a few hours. So then you have to write a script that invokes a manual build via the API just to keep DevOps "alive". It's like they forgot to properly setup the IIS Worker Pool timeout values or something.

@nbevans could you provide a few more details here on the agent and where it is hosted? The agent itself does not rely on the IIS worker pool and we are not aware of any bugs in this area. If we have some we would love to get them addressed.

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#182
post #143

Earlier quoted context omitted.

I'm not in Redmond, but do send an email. I'm my HN name @microsoft.com. We should be able to sort out some of these issues for you. I'd like to hear more about the docs problem. But: You should be able to recurse submodules in a pipeline. In the visual designer, select "Checkout Submodules" in the pipeline's get sources step. If you use YAML, set "submodules: true" or "submodules: recursive" in the checkout keyword.…

Hey, just one bit of feedback, I tried getting my github linked project to build late last year, but always failed to checkout sub modules. The build log showed permission issues, and I did try workarounds suggested like changing the sub module URL and adding ssh keys as part of the checkout step, but in the end, my 8 hours allocated to “get vsts building” ended with this problem and I have not continued. The perform…

I'm sorry that the product wasn't easier to use, and that it wasted so much of your time. For anyone else running into this, we do have docs up about how to access authenticated submodules: https://docs.microsoft.com/en-us/azure/devops/pipelines/repo... (that shows how to do it against another Azure Repos instance, but a variation will work for any Git provider with a PAT-style bearer token)

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#183

PM for Azure DevOps here. We've been investing heavily in our user experience and our CI/CD experience, so I'm sad to see that we've disappointed here. Some of these complaints I would agree with - in particularly, we're not (yet) caching build resources - though we're working on this now. But most of these complaints I was quite surprised to hear; not an experience I would want someone to have or what I see from the…

The whole pipeline debacle is confusing. I recently did a demo at a Microsoft DevDays showing Microsoft hosted Ubuntu 16.04 agents in my build and then a self-hosted vsts-agent container (provided by Microsoft which still has the old name, why?) and part of the point was to show how slow not having caching is, even for a simple Python build pipeline. On top of that Microsoft has some odd pricing in that they limit yo…

I am from the engineering team in Azure Pipelines. We agree that the resource authorization experience needs improvement. We have been working on it. We would like to make sure that you can only include the reference to a resource (secure file, service connection, variable group, agent pool, etc) in your YAML file if you have permissions to access that resource. And, it becomes particularly hard to auto-validate this if you are pushing your YAML change directly to GitHub or another repository since we do not understand the identity of that user. If we are not sure, then the build fails with a resource auth error. You can do two things to rectify this - (a) with a recent change we rolled out, you can allow all pipelines to use a resource. This is a toggle that you will see on the resource (b) You can get someone with permissions to open the pipeline in the Pipelines hub of Azure Pipelines, and queue a build. You will get an option to correct the resource auth problem. We also made a recent change so that new resources that you create default to "usable in all pipelines". We are taking steps to improve this experience without compromising on the security of these resources for those that need that capability. More is planned in this area over the next couple of months. Thanks for understanding. I will also update the docs on this topic with all the updates that have been rolled out this week.

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#184
post #143

Earlier quoted context omitted.

Hey, just one bit of feedback, I tried getting my github linked project to build late last year, but always failed to checkout sub modules. The build log showed permission issues, and I did try workarounds suggested like changing the sub module URL and adding ssh keys as part of the checkout step, but in the end, my 8 hours allocated to “get vsts building” ended with this problem and I have not continued. The perform…

It is likely that this is a variant of the issue with secure files. Secure files require a song and dance around changing the default branch or committing directly to a default branch to trigger a build after setup of the secure file. Coming from CI systems like Travis and Circle, this is an extremely confusing approach that I hope they consider changing.

Yes, we rolled out some improvements to how we authorize secure files (and other resources such as variable groups, agent pools, service connections) that you use in a YAML file. First, we introduced a toggle on each of these resources to mark them as "authorized in all pipelines". For new resources that you create, this will be on by default. Second, when you queue a build in the new YAML editor under Pipelines hub, then you get the option to correct the resource authorization issue. More work needs to be done here so that we can give you the right experience while maintaining the security of protected resources, and all of that is planned over the next month or two. Thanks.

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#185

Earlier quoted context omitted.

I’m considering migrating an appveyor setup to devops. The main driver is to get a pipeline setup with more parallelism and a more complex graph with resumable steps without fiddling with environment parameters, or really jumping around in a clunky ui maintaining a hundred “projects” Haven’t looked to deeply what devops has to offer yet, but things I’d be looking for before migrating. - I want to be able to develop,…

I can recommend https://concourse-ci.org/ for pipelines that are difficult to reason about or orchestrate in, e.g. GitLab and other CI tools, due to external actors or lifecycles beyond a single codebase/repo. Builds are 100% stateless within the CI cluster and rely on tracking/publishing just about anything you can imagine or plug as a resource; out-of-the-box inclusions being docker images (registry), S3 (e.g. mini…

Awesome, looks almost exactly to what I imagined building.

Thanks!

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#186

Earlier quoted context omitted.

It is likely that this is a variant of the issue with secure files. Secure files require a song and dance around changing the default branch or committing directly to a default branch to trigger a build after setup of the secure file. Coming from CI systems like Travis and Circle, this is an extremely confusing approach that I hope they consider changing.

Yes, we rolled out some improvements to how we authorize secure files (and other resources such as variable groups, agent pools, service connections) that you use in a YAML file. First, we introduced a toggle on each of these resources to mark them as "authorized in all pipelines". For new resources that you create, this will be on by default. Second, when you queue a build in the new YAML editor under Pipelines hub,…

That sounds like a great improvement to the process!

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#187

Earlier quoted context omitted.

It's not even about the price. I have no problem tweaking my Linux desktop to use an international Dvorak layout (useful for those European languages with ä's and é's) and switching the caps and ctrl keys. Say what you want about Gnome 3, but this works just fine. On Windows.. I get a US only bare bone Dvorak layout and few ways to remap the caps/ctrl keys. Messing with the registry is at best annoying on my gaming (…

I would love to find an .xinitrc in some dark corner of windows 10 where there are a bunch of options commented out and you have to pick the right ones or else your monitor explodes. This would be an upgrade as at least I would kinda trust that a file I found on my own system from the vendor can probably be trusted. I trust the options would be at least mostly self documenting (more self documenting than a random lis…

I love vim, but that .xinitrc stuff is really out of date by now. Gnome 3 now uses Wayland fairly well and the setup is done with the GUI app Tweaks and the system settings.

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#188

Earlier quoted context omitted.

I can recommend https://concourse-ci.org/ for pipelines that are difficult to reason about or orchestrate in, e.g. GitLab and other CI tools, due to external actors or lifecycles beyond a single codebase/repo. Builds are 100% stateless within the CI cluster and rely on tracking/publishing just about anything you can imagine or plug as a resource; out-of-the-box inclusions being docker images (registry), S3 (e.g. mini…

Awesome, looks almost exactly to what I imagined building. Thanks!

I forgot to mention the semver resource which is a bit weird to use for a single repo pipeline but comes in handy for out-of-band jobs like running an external automation test suite asynchronously.

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#189

My mind was blown when we invested a week in setting up DevOps, then realised it has a critical flaw in that the automated build agent will just go into hibernation if there was no build activity for a few hours. So then you have to write a script that invokes a manual build via the API just to keep DevOps "alive". It's like they forgot to properly setup the IIS Worker Pool timeout values or something.

@nbevans I'm an engineer on Azure DevOps. This is the first we've heard of this issue, can you provide more details? What error do you see? By hibernation do you mean Windows hibernation? Feel free to reach out to me at my HN name at microsoft.com.

Re: Microsoft’s Azure DevOps: An Unsatisfying Adventure

#190

Earlier quoted context omitted.

The whole pipeline debacle is confusing. I recently did a demo at a Microsoft DevDays showing Microsoft hosted Ubuntu 16.04 agents in my build and then a self-hosted vsts-agent container (provided by Microsoft which still has the old name, why?) and part of the point was to show how slow not having caching is, even for a simple Python build pipeline. On top of that Microsoft has some odd pricing in that they limit yo…

I am from the engineering team in Azure Pipelines. We agree that the resource authorization experience needs improvement. We have been working on it. We would like to make sure that you can only include the reference to a resource (secure file, service connection, variable group, agent pool, etc) in your YAML file if you have permissions to access that resource. And, it becomes particularly hard to auto-validate this…

Thank you for the great explanation on changes you've made and will continue to make in this area! What is the best way to inform persons such as yourself about UX issues? Appreciate the thoughtful response.
Post reply on HN