This is an overview of Azure Artifacts and how you can add a fully integrated package management to your continuous integration/continuous delivery (CI/CD) pipelines with a single click. Azure Artifacts allows you to share your code effortlessly by creating and sharing Maven, npm, and NuGet package feeds from public and private sources.
ICT role in 21st century education and its challenges
Getting Started with Azure Artifacts
1. Getting started with Azure Artifacts
Callon Campbell
Systems Architect, Microsoft Azure MVP
Email: CallonCampbell@Outlook.com
Blog: https://TheFlyingMaverick.com
Twitter: @Flying_Maverick
2. About me
2
Email: CallonCampbell@Outlook.com Twitter: @Flying_Maverick
Blog: http://TheFlyingMaverick.com LinkedIn: LinkedIn.com/in/calloncampbell
Website: http://ReflectInsight.com Slideshare: https://www.slideshare.net/calloncampbell
Callon Campbell - Microsoft Azure MVP
Systems Architect and Developer with 20 years of
experience developing desktop, mobile and web
enterprise applications using .NET, SQL Server,
Mobile and Azure technologies.
Co-creator of ReflectInsight, a .NET logging
framework and real-time Live Log Viewer.
3. Agenda
- What is Azure DevOps
- Azure Artifacts
- Wrap up and resources
4. Azure DevOps
Deliver value to your users faster
using proven agile tools to plan,
track, and discuss work across
your teams.
Build, test, and deploy with CI/CD that
works with any language, platform,
and cloud. Connect to GitHub or any
other Git provider and deploy
continuously.
Get unlimited, cloud-hosted
private Git repos and collaborate
to build better code with pull
requests and advanced file
management.
Test and ship with confidence
using manual and exploratory
testing tools.
Create, host, and share packages with
your team, and add artifacts to your
CI/CD pipelines with a single click.
Azure Boards Azure ReposAzure Pipelines
Azure Test Plans Azure Artifacts
https://azure.com/devops
5. Extension to Azure DevOps Services.
Introduces the concept of multiple feeds that can be used to organize
and control access to your packages.
New home of the Packages page under Build and release page group
from the previous navigation (Azure DevOps Services and Team
Foundation Server)
Azure Artifacts Overview
6. Create and share Maven, npm, and NuGet package
feeds from public and private sources – fully
integrated into CI/CD pipelines
Azure Artifacts
Manage all package types
Get universal artifact management for Maven, npm,
and NuGet.
Add packages to any pipeline
Share packages, and use built-in CI/CD, versioning,
and testing.
Share code efficiently
Easily share code across small teams and large
enterprises.
https://azure.com/devops
7. Support for private and public
feeds.
Create and share Maven, npm,
and NuGet packages
Use Universal Packages to store
adhoc binaries to be used in your
build and release pipelines - no
longer need to store binaries in
Git.
Keep your artifacts organized
8. Universal Packages store one or more files as a single unit that has a
name and a version.
You create and consume Universal Packages via the Visual Studio Team
Services (VSTS) CLI.
Universal Packages are managed as part of feeds, so you can easily
control access to them.
Universal Packages are currently in public preview and can be enabled
from under your profile menu, under “Preview features”.
Universal Packages
9. Keep every public source
package you use - including
packages from npmjs and
nuget.org - safe in your feed
where only you can delete it.
Backed by the enterprise-grade
Azure SLA.
Protect your packages
10. Easily access all your artifacts in builds and releases - Artifacts integrates
natively with the Azure Pipelines CI/CD tool.
Integrate package handling into your CI/CD pipeline
11. Package management is broadly used in our programming world. In .NET, we use NuGet to share our packages
with the world or our internal departments.
Versioning NuGet packages as part of your Continuous Delivery process has some challenges. In order to control
the quality of our packages, the most common mechanism is Semantic Versioning or SemVer.
Package management
The difficult part about this mechanism, is that you need to version your package before you actually know the
quality of the package.
12. Because Semantic Versioning has some downsides, the VSTS team (now Azure DevOps) introduced a new feature
as part of the package management called Release Views.
Release views enable you to communicate the quality of a package after it’s been validated.
Introducing release views
13. When a package is created, it will populate the @local view.
When a package is ready for early adopters, select that package and its dependency graph and promote it to the
@prerelease view.
When the package is deemed of sufficient quality to be released, promote that package and its dependency graph
into the @release view.
Promoting package versions to a view ensures they won't be deleted by retention policies.
Promote your package to the correct view
14. Upstream sources enable you to use a single feed to store both the packages you produce and the packages you
consume from "remote feeds".
Once you've enabled an upstream source, any user connected to your feed can install a package from the remote
feed, and your feed will save a copy.
Provides additional protection against outages and corrupted or compromised packages.
Control dependencies with Upstream Sources
16. Azure DevOps
An end-to-end solution for organizations looking for an enterprise-grade toolchain
Fully Integrated
with end
to end
traceability
Better together
Scalable to
any team
and project
size
Customer
Support
Consistent
admin
and access
control
https://azure.com/devops
Azure Boards Azure Repos Azure PipelinesAzure Test PlansAzure Artifacts
Highly
available,
multi region,
hybrid
cloud &
on-prem
18. Azure Artifacts Pricing
Free
Unlimited users and build time
• Azure Pipelines: 10 parallel jobs with
unlimited minutes for CI/CD
• Azure Boards: Work item tracking and
Kanban boards
• Azure Repos: Unlimited public Git repos
Free
Start free with up to 5 users
• Azure Pipelines: Run 1 Microsoft-hosted
job for 1,800 minutes per month and 1
self-hosted job for any amount of time
• Azure Boards: Work item tracking and
Kanban boards
• Azure Repos: Unlimited public Git repos
• Azure Artifacts: package management
• Unlimited stakeholders
https://azure.com/pricing/details/devops/
*
Starts at $5.12
Per user, per month
Easy pricing that grows with your team
Private, hosted package management
from Microsoft
• Best-in-class NuGet server
• Private Maven and npm repositories
• Automatic versioning
• Continuous integration
• Sophisticated access controls
20. • Azure DevOps Documentation
• Introducing Azure DevOps
• Best practices for using Azure Artifacts
• Communicate package quality with release views
References
Area Destination URL
Azure DevOps https://azure.microsoft.com/services/devops/
Azure Pipelines https://azure.microsoft.com/services/devops/pipelines/
Azure Boards https://azure.microsoft.com/services/devops/boards/
Azure Repos https://azure.microsoft.com/services/devops/repos/
Azure Artifacts https://azure.microsoft.com/services/devops/artifacts/
Azure Test Plans https://azure.microsoft.com/services/devops/test-plans/
Notas do Editor
So does TFS
With Azure Artifacts you can add fully integrated package management to your continuous integration/continuous delivery (CI/CD) pipelines with a single click.
Consider using them to store deployment inputs like installers, large datasets or binary files that you need during development, or as a versioned container for your pipeline outputs.
These packages are a lightweight, easy-to-use, and efficient way to transfer around a file or set of files, without the overhead of a traditional package manager with dependency management and other such features.
Quickstart: Publish and then download a Universal Package
https://docs.microsoft.com/en-us/azure/devops/artifacts/quickstarts/universal-packages?view=vsts&tabs=azuredevops
When creating packages in continuous integration and delivery scenarios, it's important to convey 3 pieces of information: the nature of the change, the risk of the change, and the quality of the package.
A common use for views is to share package-versions that have been tested, validated, or deployed but hold back packages still under development and not ready for public consumption.
Views and upstream sources are designed to work together to make it easy to produce and consume packages at enterprise scale.
Note: For each component served from the upstream, a copy will be always available to consume, even if the original source is down or, for TFS users, your internet connection isn’t available.
Create Artifact feed (nuget)
Without downstream sources
With downstream sources
Create/Update build pipeline to store packages in your feed
Connect to feed from Visual Studio
Pull packages into your code from your feed
Promote packages using the release view in your feed
Manually upload packages to your feed
Eliminate the need to manage file shares or host private package servers. Get cloud-hosted, indexed, and managed packages.
Get started with the first 5 users free! MSDN subscriptions count as free too.
Additional users will need to purchase Azure Artifacts to consume packages from (e.g., nuget restore or npm install) or produce packages to (e.g., nuget push or npm publish) Azure Artifacts feeds. Azure Artifacts is also required for each user that consumes or publishes symbols.
Join the conversation.
Potentially replace for speaker contact details / intro.