Announcing Visual Studio Online integration
We are really excited to announce that as of today, MyGet enables new scenarios for all users of Visual Studio Online! Microsoft just announced Visual Studio Online Extensions at TechEd, so we can finally disclose these new scenarios and toggle the feature-switch for all of you.
In short, these are the new scenarios we've just enabled for you:
- Serve NuGet packages from a Visual Studio Online drop location
- Add a VSO Git repository as a build source for a MyGet feed
- Connect an existing MyGet build source to Visual Studio Online
New to MyGet? Interested in using the Visual Studio Online integration? Why not make use of our TechEd 2014 offer that gives you a complimentary 2-month Starter plan!
New Scenario: Serve NuGet packages from a Visual Studio Online drop location
Having a VSO Build Definition creating NuGet packages but having trouble consuming those? You can now very easily create a MyGet feed and serve those NuGet packages by having us fetching them from your Drop Location! Optionally, we can post notifications to your VSO Team Room so your team gets informed about new package availability as the result of your automated builds.
Package sources could be considered as upstream repositories for your MyGet feed, which is how you can look at the VSO Build Drop Location. The following simplified diagram provides a schematic overview of this new integration scenario.
<p>
</p><p>All you need to do to make us of this integration is to add a new package source to your MyGet feed:
</p><ol><li><div>Go to your feed’s settings and select the Package Sources tab. Select Visual Studio Online build definition from the Add package source button.
</div><p>
</p></li><li><div>Provide your Visual Studio Online account name in the dialog that appears and click Continue.
</div><p>
</p></li><li><div>Select the Team Project and Build Definition to add as the package source for your feed. Optionally, select the Team Room in which to post notifications. Click the Add button to complete the configuration of the new package source.
</div><p>
</p></li><li><div>The new VSO package source has been added to your feed’s package sources, and newly built NuGet packages will be fetched from your Drop Location automatically and pushed to the MyGet feed.
</div><p>
</p></li></ol><h1 id="scenario2">New Scenario: Add a VSO Git repository as a Build Source for a MyGet feed
</h1><p>This is the same scenario we already support today for GitHub, BitBucket and Codeplex: you can now register MyGet Build Services as a post-commit hook to your VSO Git repositories. We are happy to provide an integrated VSO experience from within MyGet, but even happier to also have a MyGet service hook available within the VSO user interface! Whether you use the VSO user interface or MyGet web site, you can enable this scenario from within both.
</p><p>Build sources are a way to express links between MyGet Build Services and your source repositories, whether on GitHub, BitBucket, Codeplex or now also on Visual Studio Online. The following simplified diagram provides a schematic overview of this new integration scenario.
</p><p>Note: we currently only support Git repositories, TFVC support is on the roadmap.
</p><p>
</p><p>Here’s a step-by-step guide on how to register a VSO Git repository within MyGet Build Services.
</p><ol><li><div>Go to your feed’s settings and select the Build Services tab. Select from Visual Studio Online (git only) from the Add build source… button.
</div><p>
</p></li><li><div>Provide your Visual Studio Online account name in the dialog that appears and click Continue.
</div><p>
</p></li><li><div>Select the desired build source to link and optionally enable notifications in a specific Team Room. Click the Add button to complete the configuration of the new Build Source.
</div><p>
</p></li><li><div>The new VSO build source has been added to your feed’s build sources, and a post-commit service hook has been registered within VSO. When pushing to your VSO Git repository, a new MyGet build is going to be triggered and will produce your NuGet packages and push them to your feed.
</div><p>
</p><p>If you look at your Visual Studio Online Administration dashboard and browse your Team Project’s Service Hooks, you’ll see a newly registered web hook listening for the Code is pushed event.
</p><p>
</p></li></ol><h1 id="scenario3">New Scenario: Connect an existing MyGet Build Source to Visual Studio Online</h1><p>Alternatively, you can also setup MyGet integration from within Visual Studio Online. This is useful if you already have an existing MyGet Build Source pointing to your VSO Git repository and triggered it manually up until now. You should be glad to hear you can now connect these and automate that.
</p><ol><li>Go to your VSO Team Project Administration dashboard and select the Service Hooks tab.
</li><li><div>Click the Add Service Hook button
</div><p>
</p></li><li><div>Within the New Service Hooks Subscription dialog, select the MyGet service and click the Next button.
</div><p>
</p></li><li><div>Select the Code is pushed event type and the desired Repository and Branch settings. Click Next to continue.
</div><p>
</p></li><li><div>Select the Trigger a MyGet build action and provide the target Feed name and Build Source Identifier.
</div><p>
</p><p>You can find the Build Source identifier in your MyGet feed settings > Build Sources, as highlighted below:
</p><p>
</p></li><li><div>Click Test if you want to test this service hook first, or click Finish to complete the wizard. The new service hook is now listed as shown below:
</div><p>
</p></li></ol><h1>We aim to please
</h1><p>We hope you are happy with this brand new VSO support and will put it to good use! We’d also like to express our gratitude to the Microsoft VSO team for enabling this type of extensibility as well as guiding us through this integration effort. A smooth, integrated user experience to reduce development friction is one of our main goals, and we hope these scenarios will prove to be a great help.</p><p>Feel free to send us your feedback or feature requests!</p><p>Happy packaging!</p>