BuildVision icon indicating copy to clipboard operation
BuildVision copied to clipboard

Add new building state: deploying

Open tomzorz opened this issue 10 years ago • 13 comments

Title says it all: it'd be awesome for UWP projects :)

tomzorz avatar Sep 27 '15 01:09 tomzorz

@tomzorz Do you have any ideas on how you would like to see this in BuildVision? Any suggestions or maybe a mockup? Would love to get some inspiration on this.

StefanKert avatar Jun 23 '17 06:06 StefanKert

Hey!

First off: thanks for taking over the project and continuing development :)

And I was thinking something like this:

image

Right now we only enter the 'BuildDone' state when the deployment is also complete, so BuildVision is already "aware" of something happening. What I'd like to see in addition is a new 'Deploying' state with a little icon to let me know that I'm not waiting for the build to finish, but for the deployment to complete instead.

tomzorz avatar Jun 23 '17 17:06 tomzorz

Hey! Looks good, thanks for the detailled description and the image. 👍 I'll have a look at this in the next days.

TSchmiedlechner avatar Jun 23 '17 19:06 TSchmiedlechner

Yep, deploying is currently disabled in source. Deployment is just another build action, so I think this shouldn´t be that difficult. I really this idea and I think many devs including me (for web deployment scenarios) can benefit of this feature.

StefanKert avatar Jun 23 '17 20:06 StefanKert

I really want to get this into the next release that is scheduled for the end of November. So we need to agree on some things I am not really sure about when implementing this.

I really like the proposal you made @tomzorz, but I am not sure about one thing, maybe you can add your thoughts on this. Usually BuildVision shows all the Projects that are builded (let´s assume hide update targest is not enabled). If you start a Deploy the following things should happen:

Scenario 1

For the project that should be deployed there is another item in the list that shows the deploy state. So in the and we will have two lines for a single project. One with the BuildState and another one with the deploy state wether it succeeded or not.

Scenario 2

After the build succeeded, the line for the item shows a green icon. When the deployment is started the line of the project will show the deploy icon and the deploying state ( as shown in the image you postetd). So after the deploy succeeded the line will show the green checkmark to acknowledge the successful deploy. To summarize this scenario: The difference to scenario 1 is the single line instead of two lines.

IMO Scenario 1 would give the user the oportunity to see the warnings and further details for the build and have a separate view of the deploy state. On the other hand, if multiple projects are deployed this will fill up the Window. Don´t know if this really is a problem.

I really want to invite everyone to give feedback on this and especially @tomzorz since you came up with this great idea :)

cheers!

StefanKert avatar Nov 01 '17 13:11 StefanKert

I prefer the scenario 1. The deployment can fail after the build succeeds. And for the warning it can be nice too.

But I think deployment line should have another icon than building (or put in bold font) because it's another task you should see easily while deployment often includes Building.

LSMetag avatar Nov 07 '17 09:11 LSMetag

I see your point with option 1, and I think I'd prefer it as well. I'm not sure how often do people deploy multiple things at once (I for one never did, but I don't really do Azure stuff where I imagine this might happen).

What you could maybe do is to have the deployment item as an expando (like a TreeView child item) below the relevant project. And you could hide completed deployments and only show the current one happening.

tomzorz avatar Nov 07 '17 09:11 tomzorz

Guys thanks for your feedback On this.

The multi-deployment scenario is very rare I guess, so let us concentrate on the single deploy scenario. I really like the idea of adding an expando, but this will make the UI more complex.

@LSMetag I do agree that we should find a separate Deploy icon. I will see if I can find one that makes sense. If you got some ideas let me know!

To summarize this: Let us agree on option 1. We will have a separate ListItem that shows the deployaction. I need to get some time to get the first version for this to show some results. If you got any other ideas or feelings on this please let me know.

What are you thinking about adding a opt-in for this? Should we make it a setting. If yes opt-in or opt-out? I definitely would, if we add it as a separate setting, tend to use opt-out.

StefanKert avatar Nov 07 '17 09:11 StefanKert

The setting is a good idea. I'd maybe add a popup to ask the user about it the first time there's a project with a deployment step.

tomzorz avatar Nov 10 '17 01:11 tomzorz

Yep that would probably be a good fit.

I had the time to checkup what happens when deploying and I found out, that there is no specific event for deployments. From what I know now, it is only possible to hook into the Command Events. The issue is that there is an enum that has thousands of members and since we need only a few, I need to find those out.

We need to find all ways how deployment can be triggered in VS. I know two ways until yet:

  • Right Click Project -> Deploy
  • Menu Build -> Deploy

@tomzorz how do you do deployment? Are there any other ways that lets you deploy your app?

StefanKert avatar Nov 11 '17 10:11 StefanKert

@StefanKert most of my projects where this happens is triggered by debugging - think mobile, UWP etc... So no separate "deploy" action, just hitting F5.

tomzorz avatar Dec 16 '17 11:12 tomzorz

@tomzorz ah ok. This is reproducable. When I hit F5 to start a UWP project, the deploy aciton is passed to BuildVison, so it is possible to add this action. I will see if I can implement a first prototype of this feature next week.

StefanKert avatar Dec 28 '17 19:12 StefanKert

Quick update on this one:

With the new structure introduce in #71 we are now able to have additional build states listed in the following articles:

  • https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.interop.vssolnbuildupdateflags?view=visualstudiosdk-2017
  • https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.interop.vssolnbuildupdateflags2?view=visualstudiosdk-2017
  • https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.interop.vssolnbuildupdateflags3?view=visualstudiosdk-2017

I guess one of those flags will give us the ability to detect deploys :). Hence I am currently mostly working on getting things up with the new AsyncPackage I expect this not to come in the 3.0.0 release but I plan to add this for the 3.1.0 release :). I´ll keep you updated.

StefanKert avatar Mar 21 '19 05:03 StefanKert