SlideShare a Scribd company logo
1 of 14
Packages as the first choice when
deploying – how?
MATTEO EMILI
MICROSOFT MVP – VISUAL STUDIO AND DEVELOPMENT TECHNOLOGIES
MATTEO.EMILI@LIVE.COM || HTTP://MATTVSTS.BLOGSPOT.COM || @MATTVSTS
If you need to send something, what would you do?
Pictures from commons.wikimedia.org
You definitely consume packages already
You already have all the tools you need to create packages!
NuGet?
npm?
ProGet/Artifactory/MyGet?
All you need is a Continuous Integration server
Build your packages
DEMO
Are you saying I can package everything?
Yes*.
* = except for infrastructure, which can be prepared but not in a package.
Can I use the same technology for everything?
No.Don’t*.
* = except if you use Octopus Deploy
PACKAGES FOR TOOLS AND LIBRARIES
• NuGet, npm, Bower, OneGet
• Interactively consumed by another tool
• Easily replaceable, but they require specific
effort to create
• Immediate logging visibility
• Not meant to be used outside their hosting
environment
PACKAGES FOR APPLICATION DEPLOYMENT
• MSDeploy, *.war, ClickOnce, MSI, Chocolatey
• Consumed in unattended fashion or
interactively by an user
• No creation overhead – it is just an output
format
• Can be tricky to troubleshoot if not setup
correctly
• They aren’t limited to an environment
Dealing with Application Deployment
DEMO
SemVer
The only way of avoiding dependency hell
1. Major
2.
35
Minor
Patch
Breaking change
Backward-compatible new feature
Backward-compatible bugfix
-ci Tag Additional identifier (pre-release)
1.2.35-ci
Semver.org
Any question left?
Thanks!

More Related Content

Similar to Packages as the first choice when deploying - how?

Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet
 
ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest Project
 
WordCamp Atlanta Presentation
WordCamp Atlanta PresentationWordCamp Atlanta Presentation
WordCamp Atlanta PresentationThomas Griffin
 
Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1inside-BigData.com
 
GUI Programming using Tkinter-converted.pptx
GUI Programming using Tkinter-converted.pptxGUI Programming using Tkinter-converted.pptx
GUI Programming using Tkinter-converted.pptxdvarshitha04
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat OverviewMandi Walls
 
Machine learning in cybersecutiry
Machine learning in cybersecutiryMachine learning in cybersecutiry
Machine learning in cybersecutiryVishwas N
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dominique Boutin
 
PuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppet
 
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, PuppetPuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, PuppetPuppet
 
Turbo Charging Moodle
Turbo Charging MoodleTurbo Charging Moodle
Turbo Charging MoodleJulian Ridden
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainŁukasz Piątkowski
 
PyDataStructs Tech Share at Quansight
PyDataStructs Tech Share at QuansightPyDataStructs Tech Share at Quansight
PyDataStructs Tech Share at QuansightGagandeep Singh
 
Puppet latest and greatest
Puppet latest and greatestPuppet latest and greatest
Puppet latest and greatestATIX AG
 
Embracing an Open Source Philosophy for Better UX in Buildings
Embracing an Open Source Philosophy for Better UX in BuildingsEmbracing an Open Source Philosophy for Better UX in Buildings
Embracing an Open Source Philosophy for Better UX in BuildingsMemoori
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svccMaarten Balliauw
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package ManagerDMC, Inc.
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenvamenasse
 

Similar to Packages as the first choice when deploying - how? (20)

Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
 
ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)
 
WordCamp Atlanta Presentation
WordCamp Atlanta PresentationWordCamp Atlanta Presentation
WordCamp Atlanta Presentation
 
Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1
 
GUI Programming using Tkinter-converted.pptx
GUI Programming using Tkinter-converted.pptxGUI Programming using Tkinter-converted.pptx
GUI Programming using Tkinter-converted.pptx
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
 
Machine learning in cybersecutiry
Machine learning in cybersecutiryMachine learning in cybersecutiry
Machine learning in cybersecutiry
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015
 
PuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet AppliedPuppetConf track overview: Puppet Applied
PuppetConf track overview: Puppet Applied
 
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, PuppetPuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
PuppetConf 2017: Puppet Enterprise Roadmap 2017- Ryan Coleman, Puppet
 
Turbo Charging Moodle
Turbo Charging MoodleTurbo Charging Moodle
Turbo Charging Moodle
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
 
PyDataStructs Tech Share at Quansight
PyDataStructs Tech Share at QuansightPyDataStructs Tech Share at Quansight
PyDataStructs Tech Share at Quansight
 
Puppet latest and greatest
Puppet latest and greatestPuppet latest and greatest
Puppet latest and greatest
 
Embracing an Open Source Philosophy for Better UX in Buildings
Embracing an Open Source Philosophy for Better UX in BuildingsEmbracing an Open Source Philosophy for Better UX in Buildings
Embracing an Open Source Philosophy for Better UX in Buildings
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svcc
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
From open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysferaFrom open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysfera
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package Manager
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
 

More from Matteo Emili

Transforming the impossible
Transforming the impossibleTransforming the impossible
Transforming the impossibleMatteo Emili
 
É ora di passare a Pipeline as code
É ora di passare a Pipeline as codeÉ ora di passare a Pipeline as code
É ora di passare a Pipeline as codeMatteo Emili
 
How not to fall into the DevSecOps trap
How not to fall into the DevSecOps trapHow not to fall into the DevSecOps trap
How not to fall into the DevSecOps trapMatteo Emili
 
Il computer dice no!
Il computer dice no!Il computer dice no!
Il computer dice no!Matteo Emili
 
The computer says no v2
The computer says no v2The computer says no v2
The computer says no v2Matteo Emili
 
A selection of short stories where Azure DevOps saved the bacon
A selection of short stories where Azure DevOps saved the baconA selection of short stories where Azure DevOps saved the bacon
A selection of short stories where Azure DevOps saved the baconMatteo Emili
 
The computer says no! Software Quality in the DevOps world
The computer says no! Software Quality in the DevOps worldThe computer says no! Software Quality in the DevOps world
The computer says no! Software Quality in the DevOps worldMatteo Emili
 
Strategie di migrazione da Team Foundation Server ad Azure DevOps Services
Strategie di migrazione da Team Foundation Server ad Azure DevOps ServicesStrategie di migrazione da Team Foundation Server ad Azure DevOps Services
Strategie di migrazione da Team Foundation Server ad Azure DevOps ServicesMatteo Emili
 
What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?Matteo Emili
 
Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Matteo Emili
 
PowerShell and Azure DevOps
PowerShell and Azure DevOpsPowerShell and Azure DevOps
PowerShell and Azure DevOpsMatteo Emili
 
Am i doing deployments right v2
Am i doing deployments right v2Am i doing deployments right v2
Am i doing deployments right v2Matteo Emili
 
Am i doing deployments right?
Am i doing deployments right?Am i doing deployments right?
Am i doing deployments right?Matteo Emili
 
How telemetry can be your best friend
How telemetry can be your best friendHow telemetry can be your best friend
How telemetry can be your best friendMatteo Emili
 
Containers jumpstart from a DevOps perspective
Containers jumpstart from a DevOps perspectiveContainers jumpstart from a DevOps perspective
Containers jumpstart from a DevOps perspectiveMatteo Emili
 
Far scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle managementFar scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle managementMatteo Emili
 
Development and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsDevelopment and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsMatteo Emili
 
Tools and practices to use in a Continuous Delivery pipeline
Tools and practices to use in a Continuous Delivery pipelineTools and practices to use in a Continuous Delivery pipeline
Tools and practices to use in a Continuous Delivery pipelineMatteo Emili
 
Uno sguardo a Team Foundation Server 2017
Uno sguardo a Team Foundation Server 2017Uno sguardo a Team Foundation Server 2017
Uno sguardo a Team Foundation Server 2017Matteo Emili
 
A year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTSA year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTSMatteo Emili
 

More from Matteo Emili (20)

Transforming the impossible
Transforming the impossibleTransforming the impossible
Transforming the impossible
 
É ora di passare a Pipeline as code
É ora di passare a Pipeline as codeÉ ora di passare a Pipeline as code
É ora di passare a Pipeline as code
 
How not to fall into the DevSecOps trap
How not to fall into the DevSecOps trapHow not to fall into the DevSecOps trap
How not to fall into the DevSecOps trap
 
Il computer dice no!
Il computer dice no!Il computer dice no!
Il computer dice no!
 
The computer says no v2
The computer says no v2The computer says no v2
The computer says no v2
 
A selection of short stories where Azure DevOps saved the bacon
A selection of short stories where Azure DevOps saved the baconA selection of short stories where Azure DevOps saved the bacon
A selection of short stories where Azure DevOps saved the bacon
 
The computer says no! Software Quality in the DevOps world
The computer says no! Software Quality in the DevOps worldThe computer says no! Software Quality in the DevOps world
The computer says no! Software Quality in the DevOps world
 
Strategie di migrazione da Team Foundation Server ad Azure DevOps Services
Strategie di migrazione da Team Foundation Server ad Azure DevOps ServicesStrategie di migrazione da Team Foundation Server ad Azure DevOps Services
Strategie di migrazione da Team Foundation Server ad Azure DevOps Services
 
What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?What did i learn trying to migrate teams from legacy to modern?
What did i learn trying to migrate teams from legacy to modern?
 
Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?
 
PowerShell and Azure DevOps
PowerShell and Azure DevOpsPowerShell and Azure DevOps
PowerShell and Azure DevOps
 
Am i doing deployments right v2
Am i doing deployments right v2Am i doing deployments right v2
Am i doing deployments right v2
 
Am i doing deployments right?
Am i doing deployments right?Am i doing deployments right?
Am i doing deployments right?
 
How telemetry can be your best friend
How telemetry can be your best friendHow telemetry can be your best friend
How telemetry can be your best friend
 
Containers jumpstart from a DevOps perspective
Containers jumpstart from a DevOps perspectiveContainers jumpstart from a DevOps perspective
Containers jumpstart from a DevOps perspective
 
Far scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle managementFar scalare la Continuous Delivery per il middle management
Far scalare la Continuous Delivery per il middle management
 
Development and QA dilemmas in DevOps
Development and QA dilemmas in DevOpsDevelopment and QA dilemmas in DevOps
Development and QA dilemmas in DevOps
 
Tools and practices to use in a Continuous Delivery pipeline
Tools and practices to use in a Continuous Delivery pipelineTools and practices to use in a Continuous Delivery pipeline
Tools and practices to use in a Continuous Delivery pipeline
 
Uno sguardo a Team Foundation Server 2017
Uno sguardo a Team Foundation Server 2017Uno sguardo a Team Foundation Server 2017
Uno sguardo a Team Foundation Server 2017
 
A year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTSA year of SonarQube and TFS/VSTS
A year of SonarQube and TFS/VSTS
 

Recently uploaded

8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 

Recently uploaded (20)

8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Packages as the first choice when deploying - how?

  • 1. Packages as the first choice when deploying – how? MATTEO EMILI MICROSOFT MVP – VISUAL STUDIO AND DEVELOPMENT TECHNOLOGIES MATTEO.EMILI@LIVE.COM || HTTP://MATTVSTS.BLOGSPOT.COM || @MATTVSTS
  • 2. If you need to send something, what would you do? Pictures from commons.wikimedia.org
  • 3. You definitely consume packages already
  • 4. You already have all the tools you need to create packages! NuGet? npm? ProGet/Artifactory/MyGet?
  • 5. All you need is a Continuous Integration server
  • 7. Are you saying I can package everything? Yes*. * = except for infrastructure, which can be prepared but not in a package.
  • 8. Can I use the same technology for everything? No.Don’t*. * = except if you use Octopus Deploy
  • 9. PACKAGES FOR TOOLS AND LIBRARIES • NuGet, npm, Bower, OneGet • Interactively consumed by another tool • Easily replaceable, but they require specific effort to create • Immediate logging visibility • Not meant to be used outside their hosting environment PACKAGES FOR APPLICATION DEPLOYMENT • MSDeploy, *.war, ClickOnce, MSI, Chocolatey • Consumed in unattended fashion or interactively by an user • No creation overhead – it is just an output format • Can be tricky to troubleshoot if not setup correctly • They aren’t limited to an environment
  • 10. Dealing with Application Deployment DEMO
  • 11. SemVer The only way of avoiding dependency hell
  • 12. 1. Major 2. 35 Minor Patch Breaking change Backward-compatible new feature Backward-compatible bugfix -ci Tag Additional identifier (pre-release) 1.2.35-ci Semver.org