The Zen of Package Management

Slides:



Advertisements
Similar presentations
Preface Demo A Quick Thank You How Did We Do It?
Advertisements

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
announcing Dev Manager Do I understand what we’ve built? Developer Can I bet on using this shared component? Testers What’s changed since I last.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Making of the Ignite Bot
Introduction to ASP.NET Core
Conversation As a Platform - Part 1
Now, let’s implement/trial Windows Defender Advanced Threat Protection
Microsoft Virtual Academy
6/17/ :27 AM BRK3341 Unlock extensibility by connecting your service to PowerApps and Microsoft Flow Theresa (Tessa) Palmer–Sr. Program Manager Sunay.
Microsoft Virtual Academy
Building a Continuous Delivery Pipeline for ASP.NET Core Apps
Jenkins and Azure OPEN322 Michael Friedrich.
Managing the Solution Lifecycle for xRM Applications
Excel and Power BI Better Together Democratization of data
9/11/2018 5:53 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft Virtual Academy
Agile Planning with Visual Studio Team Services (VSTS)
Release Management with Visual Studio Team Services
What’s new in Visual Studio in 2015?
Title of Presentation 11/22/2018 3:34 PM
Supercharge Microsoft Teams using Teams apps in node.js
What’s new in Visual Studio for web developers
Mobile Center and VSTS:​ Better together for your Mobile DevOps
Microsoft Ignite /28/2018 8:58 AM
Title of Presentation 12/2/2018 3:48 PM
12/9/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
Release Management with Visual Studio Team Services
2/17/2019 7:32 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Building Silverlight Apps with RIA Services
What is Visual Studio Code?
Building SaaS Solutions on Windows Azure
Building Business Applications in LightSwitch
Create rich, data-driven Web apps with ASP.NET 4.5 Web Forms
Deep Dive into Azure API Apps and Logic Apps
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows 8 Security Internals
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
5/1/2019 3:29 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
SharePoint 2013 Authentication with Azure – Part 2
WCF and .NET Framework Microservices in Containers
Title of Presentation 5/24/2019 1:26 PM
Microsoft Virtual Academy
Securing ASP.NET in an Azure Environment
日本初公開!? Vista の新機能を実演 とっちゃん わんくま同盟 7/23/2019 9:09 AM
Title of Presentation 7/24/2019 8:53 PM
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

The Zen of Package Management Microsoft Ignite 2016 5/9/2018 11:13 AM The Zen of Package Management NET324 Anthony Borton © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Who am I? Anthony Borton VSTS/TFS/DevOps trainer and consultant Microsoft Ignite 2016 5/9/2018 11:13 AM Who am I? Anthony Borton VSTS/TFS/DevOps trainer and consultant @AnthonyBorton anthonyb@enhancealm.com.au www.alm-training.com Microsoft Visual Studio and Development Technologies MVP Microsoft Certified Professional since 1993 Microsoft Certified Trainer since 1996 © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

With success comes pain Microsoft Ignite 2016 5/9/2018 11:13 AM With success comes pain Our small team grows into multiple teams Our codebase is growing Our teams start stepping on each others work We need to look into componentisation Our teams need an effective way to share reusable components © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Package componentisation Packages address many of the challenges of referencing binaries. Instead of checking them into source, you can have a solution B produce its binaries into NuGet packages that another solution A can then consume.

Building a culture of code sharing Microsoft Ignite 2016 5/9/2018 11:13 AM Building a culture of code sharing How it used to be How it can be Team A One team writes; others re-use and improve it Team B Team C Team A Team B Duplicate, wasted effort Team C Each team writes the common component that they need © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Package Management 5/9/2018 11:13 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Introducing Package Management Microsoft Ignite 2016 5/9/2018 11:13 AM Introducing Package Management Package Management is an extension that makes it easy to discover, install, and publish packages It offers deep integration into TFS and VSTS TFS 2015 Not supported TFS 2017 Built-in VSTS Marketplace extension © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Support for different package types? Visual Studio 11 5/9/2018 Support for different package types? Microsoft Package Management initially supported only NuGet packages but since its release other package types are being added. Package type Components Package Management Support NuGet .Net Assemblies Supported npm Nodejs packages Maven POM and JAR files Planned for 2017 Q1 in VSTS Bower Web front-end (Eg. HTML,CSS, Javascript) Not currently supported Cocoapods Swift and Objective-C Cocoa projects Conda Conda packages used in Python © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Enhancements for NuGet feeds Manage the full lifecycle of your packages with support for unlist and delete. Acquire package straight from the web using the Download button These are also available through the REST API

Demo Adding Package Management to our VSTS account Anthony Borton Microsoft Ignite 2016 5/9/2018 11:13 AM Demo Adding Package Management to our VSTS account Anthony Borton © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

What are feeds? Feeds provide a way for you to organise your packages in a logical and convenient way for developers to find Feeds allow you to define secure access for readers, contributors and owners in the same way you are now Feeds are the point of connection for users of your packages.

Microsoft Ignite 2016 5/9/2018 11:13 AM Creating a new feed Create a new feed by providing the following details. © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Feed level permissions Visual Studio 11 5/9/2018 Feed level permissions Feeds have three levels of access: Owners, Contributors, and Readers. By default, the Project Collection Build Service is a Contributor and your project team is a Reader Permission Reader Contributor Owner List and restore/install packages  Push packages Unlist packages Delete packages Edit feed permissions Rename and delete feed © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

How to edit feed permissions Visual Studio 11 5/9/2018 How to edit feed permissions To view or modify permissions for a feed, open the Packages hub, select the feed you want to view, then click the edit icon or you can choose edit in the context menu. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Creating a new feed Anthony Borton Microsoft Ignite 2016 5/9/2018 11:13 AM Demo Creating a new feed Anthony Borton © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Publishing packages using a CI/CD pipeline We want to be able to streamline the packaging and publishing of our components. TFS and VSTS both provide helpful steps to make this quick and painless.

Demo Creating a CI/CD Pipeline for our packages Anthony Borton Microsoft Ignite 2016 5/9/2018 11:13 AM Demo Creating a CI/CD Pipeline for our packages Anthony Borton © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Consuming our packages Microsoft Ignite 2016 5/9/2018 11:13 AM Consuming our packages Once our feeds are created and our packages have been uploaded, we’re ready to consume them in our projects. © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Ignite 2016 5/9/2018 11:13 AM Release views Release views enable you to communicate the quality of a package-version after that package-version has been tested and/or validated. © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Ignite 2016 5/9/2018 11:13 AM Release views Release views filter the feed to a subset of the feed's package-versions that have been promoted into that view. By default, every feed has two release views: Prerelease and Release. © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Consuming packages from our feed Anthony Borton Microsoft Ignite 2016 5/9/2018 11:13 AM Demo Consuming packages from our feed Anthony Borton © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Not just NuGet packages Microsoft Ignite 2016 5/9/2018 11:13 AM Not just NuGet packages Are you an ASP.NET developer? How about NodeJS or React? You’ll be pleased to know that Package Management supports npm feeds! The npm client is designed to talk to a single npm registry. Package Management supports npmjs.com as an upstream source allowing you to host private packages while still consuming public ones. © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Package Management for npm Anthony Borton Microsoft Ignite 2016 5/9/2018 11:13 AM Demo Package Management for npm Anthony Borton © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

In conclusion Package Management is available today in VSTS and TFS 2017. It allows you to manage the full lifecycle of your packages. While NuGet and npm are supported today, keep an eye out for support coming for other package types.

Continue your Ignite learning path 5/9/2018 11:13 AM Continue your Ignite learning path Visit Channel 9 to access a wide range of Microsoft training and event recordings https://channel9.msdn.com/ Head to the TechNet Eval Centre to download trials of the latest Microsoft products http://Microsoft.com/en-us/evalcenter/ Visit Microsoft Virtual Academy for free online training visit https://www.microsoftvirtualacademy.com © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Win a Spark After Dark drone pilot pass by completing your session evaluation ASAP  #MSAUIGNITE

5/9/2018 11:13 AM Thank you Chat with me in the Speaker Lounge Find me @AnthonyBorton or anthonyb@enhancealm.com.au © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.