SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Jesse Houwing
Lead Consultant Xpirit
@jessehouwing
#TECHDAYSNL @VSTEAM
Lead Consultant at Xpirit
Many tasks on
The Visual Studio Marketplace
You can run
your scripts in-
line
Read the VSTS Task SDK docs
Look at the VSTS Task Library
Peek at the tasks on the build
agent
Must have toolbox
NodeJS
https://nodejs.org/en/
Typings
npm install typings -g
TypeScript
npm install typescript -g
TFS-CLI (tfx)
npm install tfx-cli -g
PowerShell TypeScript
Supported on Windows Supported on Windows, Linux and Mac
Can call into existing PowerShell modules Can call PowerShell.exe for similar functionality
Can call into existing .NET APIs Can call PowerShell.exe for similar functionality
Only supported on Windows Single implementation for all platforms
Dynamic typing Static typing with compiler and linter
Uses TFS Client Object Model to talk to TFS / VSTS REST
and SOAP endpoints
Uses TypeScript SDK to task to TFS / VSTS REST
endpoints
Yes you can code a task directly in JavaScript, but why would you?!
TypeScrip
t
An Extension manifest
Extension ID and Publisher
A Task manifest
Task ID and Task Name
Inputs & Execution
Implementation(s)
Powershell or TypeScript/Javascript
Dependencies
Task SDK
Tools & other assemblies
Making them much easier to
test than before!
Arrange
• Import the SDK
• Set Environment variable
Act
• Execute your task
Assert
• Inspect the expected results
Out-of-the-box mocks are
on their way!
!
Don’t rely on variables
Use inputs instead
Dev
ID: PingTask-DEV
Visibility: Private
Share: Your Dev Account
Preview
ID: PingTask-PREVIEW
Visibility: Private Preview
Share: Trusted Accounts
Public
ID: PingTask
Visibility: Public
Version Shipped with PowerShell PowerShell SDK Javascript XPlat Node SDK
1.83 TFS 2015 RTM Yes Preview
1.89 TFS 2015 QU 1 Yes Preview
1.95 TFS 2015 QU 2 Yes Yes Preview
1.95.1 TFS 2015 QU 2.1 Yes Yes Yes
1.95.3 TFS 2015 QU 3 Yes Yes Yes
1.105.6 VSTS Yes Yes Yes
2.105 TFS 15 RC Back compat Yes Yes
2.107 VSTS Back compat Yes Yes
!
{
"manifestVersion": 1,
"id": "vsts-extension-tasks-DEV",
"name": "VSTS Extension Tasks",
"version": "0.0.0",
"publisher": “set-your-own",
“public": “false“
}
Next steps…
Publish your own tasks to the marketplace?
Jesse Houwing
Lead Consultant Xpirit
jhouwing@xpirit.com
@jessehouwing
#TECHDAYSNL @VSTEAM
bit.ly/XpiritMagazine
bit.ly/td-minihacks

Weitere ähnliche Inhalte

Was ist angesagt?

scriptcs - scripted C#, REPL and script extensibility
scriptcs - scripted C#, REPL and script extensibilityscriptcs - scripted C#, REPL and script extensibility
scriptcs - scripted C#, REPL and script extensibility
Filip W
 
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladoresQue hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Rodolfo Finochietti
 

Was ist angesagt? (20)

scriptcs - scripted C#, REPL and script extensibility
scriptcs - scripted C#, REPL and script extensibilityscriptcs - scripted C#, REPL and script extensibility
scriptcs - scripted C#, REPL and script extensibility
 
Branching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by AbstractionBranching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by Abstraction
 
What can possibly go wrong if i dont e2 e test my packages?
What can possibly go wrong if i dont e2 e test my packages?What can possibly go wrong if i dont e2 e test my packages?
What can possibly go wrong if i dont e2 e test my packages?
 
Testing With OutSystems
Testing With OutSystemsTesting With OutSystems
Testing With OutSystems
 
Hidden Dragons of CGO
Hidden Dragons of CGOHidden Dragons of CGO
Hidden Dragons of CGO
 
AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE
AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLEAN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE
AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE
 
Cypress for Testing
Cypress for TestingCypress for Testing
Cypress for Testing
 
Griffon: Swing just got fun again
Griffon: Swing just got fun againGriffon: Swing just got fun again
Griffon: Swing just got fun again
 
SKS in git ops mode
SKS in git ops modeSKS in git ops mode
SKS in git ops mode
 
Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy
 
LF_APIStrat17_Your API Spec is a Contract, So Test It Like One!
LF_APIStrat17_Your API Spec is a Contract, So Test It Like One!LF_APIStrat17_Your API Spec is a Contract, So Test It Like One!
LF_APIStrat17_Your API Spec is a Contract, So Test It Like One!
 
Jenkins as the Test Reporting Framework
Jenkins as the Test Reporting FrameworkJenkins as the Test Reporting Framework
Jenkins as the Test Reporting Framework
 
Branching Strategies For Git and Subversion
Branching Strategies For Git and SubversionBranching Strategies For Git and Subversion
Branching Strategies For Git and Subversion
 
TDD with Python and App Engine
TDD with Python and App EngineTDD with Python and App Engine
TDD with Python and App Engine
 
Add a backend and deploy!
Add a backend and deploy!Add a backend and deploy!
Add a backend and deploy!
 
Learn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One GuideLearn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One Guide
 
Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...Azure Integration DTAP Series, How to go from Development to Production – Par...
Azure Integration DTAP Series, How to go from Development to Production – Par...
 
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladoresQue hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
BDD and Behave
BDD and BehaveBDD and Behave
BDD and Behave
 

Andere mochten auch

Mundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshooting
Mundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshootingMundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshooting
Mundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshooting
Bruno Lopes
 
AIAのまちづくり
AIAのまちづくりAIAのまちづくり
AIAのまちづくり
rika_hrtj
 

Andere mochten auch (20)

SPSOttawa Release Pipepline for SharePoint office 365 in Azure
SPSOttawa Release Pipepline for SharePoint office 365 in AzureSPSOttawa Release Pipepline for SharePoint office 365 in Azure
SPSOttawa Release Pipepline for SharePoint office 365 in Azure
 
SharePoint Saturday Houston Setting up your release pipeline with Azure
SharePoint Saturday Houston Setting up your release pipeline with AzureSharePoint Saturday Houston Setting up your release pipeline with Azure
SharePoint Saturday Houston Setting up your release pipeline with Azure
 
Mundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshooting
Mundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshootingMundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshooting
Mundo TI - Office 365 da estratégia de deploy até os detalhes de troubleshooting
 
Biweek Mineração de Dados com SQL Server
Biweek   Mineração de Dados com SQL ServerBiweek   Mineração de Dados com SQL Server
Biweek Mineração de Dados com SQL Server
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
Visual Studio Team Services 新機能使い倒し
Visual Studio Team Services 新機能使い倒しVisual Studio Team Services 新機能使い倒し
Visual Studio Team Services 新機能使い倒し
 
AIAのまちづくり
AIAのまちづくりAIAのまちづくり
AIAのまちづくり
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTS
 
AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release Management
 
SharePoint 2010 Workflows
SharePoint 2010 WorkflowsSharePoint 2010 Workflows
SharePoint 2010 Workflows
 
Criando indicadores de time com VSTS e POWER BI
Criando indicadores de time com VSTS e POWER BICriando indicadores de time com VSTS e POWER BI
Criando indicadores de time com VSTS e POWER BI
 
What is datavisualization?
What is datavisualization?What is datavisualization?
What is datavisualization?
 
[Vssummit] DevOps - Release Management VSTS
[Vssummit]   DevOps - Release Management VSTS[Vssummit]   DevOps - Release Management VSTS
[Vssummit] DevOps - Release Management VSTS
 
Overcoming the challenges of Office 365 user management in hybrid environments​
Overcoming the challenges of Office 365 user management in hybrid environments​Overcoming the challenges of Office 365 user management in hybrid environments​
Overcoming the challenges of Office 365 user management in hybrid environments​
 
O365 Groups- Best Practices and Solutions
O365 Groups- Best Practices and SolutionsO365 Groups- Best Practices and Solutions
O365 Groups- Best Practices and Solutions
 
Understanding Office 365 Groups: Ask The Experts
Understanding Office 365 Groups: Ask The ExpertsUnderstanding Office 365 Groups: Ask The Experts
Understanding Office 365 Groups: Ask The Experts
 
10 Things Many IT Professionals Don’t Know About Office 365
10 Things Many IT Professionals Don’t Know About Office 36510 Things Many IT Professionals Don’t Know About Office 365
10 Things Many IT Professionals Don’t Know About Office 365
 
DevOps in the Cloud with Microsoft Azure
DevOps in the Cloud with Microsoft AzureDevOps in the Cloud with Microsoft Azure
DevOps in the Cloud with Microsoft Azure
 
Office 365 presentation
Office 365 presentationOffice 365 presentation
Office 365 presentation
 
DevOps with Microsoft Azure
DevOps with Microsoft AzureDevOps with Microsoft Azure
DevOps with Microsoft Azure
 

Ähnlich wie The new way to extend VSTS Build and Release

413450-rc218-cdw-jenkins-workflow
413450-rc218-cdw-jenkins-workflow413450-rc218-cdw-jenkins-workflow
413450-rc218-cdw-jenkins-workflow
Andy Pemberton
 
scriptcs - scripting, hosting and extending
scriptcs - scripting, hosting and extendingscriptcs - scripting, hosting and extending
scriptcs - scripting, hosting and extending
Filip W
 

Ähnlich wie The new way to extend VSTS Build and Release (20)

Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
[Portland 365Sat] PCF Custom Controls
[Portland 365Sat] PCF Custom Controls[Portland 365Sat] PCF Custom Controls
[Portland 365Sat] PCF Custom Controls
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014
 
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram ExperienceSharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
 
Romulus crisan + radu pascal click'n'deploy
Romulus crisan + radu pascal   click'n'deployRomulus crisan + radu pascal   click'n'deploy
Romulus crisan + radu pascal click'n'deploy
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server Containers
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
 
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
 
413450-rc218-cdw-jenkins-workflow
413450-rc218-cdw-jenkins-workflow413450-rc218-cdw-jenkins-workflow
413450-rc218-cdw-jenkins-workflow
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersMSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
Troubleshooting tips from docker support engineers
Troubleshooting tips from docker support engineersTroubleshooting tips from docker support engineers
Troubleshooting tips from docker support engineers
 
[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho
[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho
[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho
 
2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta
 
Sql Server & PowerShell
Sql Server & PowerShellSql Server & PowerShell
Sql Server & PowerShell
 
scriptcs - scripting, hosting and extending
scriptcs - scripting, hosting and extendingscriptcs - scripting, hosting and extending
scriptcs - scripting, hosting and extending
 
Click’n’Deploy | SuperSpeakers @CodeCamp Iasi, 2014
Click’n’Deploy | SuperSpeakers @CodeCamp Iasi, 2014Click’n’Deploy | SuperSpeakers @CodeCamp Iasi, 2014
Click’n’Deploy | SuperSpeakers @CodeCamp Iasi, 2014
 
Red Hat OpenShift App Dev meetup - Operator SDK
Red Hat OpenShift App Dev meetup - Operator SDK Red Hat OpenShift App Dev meetup - Operator SDK
Red Hat OpenShift App Dev meetup - Operator SDK
 

Mehr von Jesse Houwing

Techdaysnl - code review features in tfs vnext
Techdaysnl - code review features in tfs vnextTechdaysnl - code review features in tfs vnext
Techdaysnl - code review features in tfs vnext
Jesse Houwing
 
Growing great (agile) teams
Growing great (agile) teams Growing great (agile) teams
Growing great (agile) teams
Jesse Houwing
 

Mehr von Jesse Houwing (11)

Trusting the Unknown
Trusting the UnknownTrusting the Unknown
Trusting the Unknown
 
Azure DevOps Extension Tools
Azure DevOps Extension ToolsAzure DevOps Extension Tools
Azure DevOps Extension Tools
 
Ohh shit git
Ohh shit gitOhh shit git
Ohh shit git
 
Ohh sh*t git
Ohh sh*t gitOhh sh*t git
Ohh sh*t git
 
Dress up my VSTS
Dress up my VSTSDress up my VSTS
Dress up my VSTS
 
When scrum goes bad
When scrum goes badWhen scrum goes bad
When scrum goes bad
 
Scrum workshop for Project Managers
Scrum workshop for Project ManagersScrum workshop for Project Managers
Scrum workshop for Project Managers
 
Let's get agile: An Agile Talk About Agile
Let's get agile: An Agile Talk About AgileLet's get agile: An Agile Talk About Agile
Let's get agile: An Agile Talk About Agile
 
Techdays 2012 - Better code through reviews and tools
Techdays 2012 - Better code through reviews and toolsTechdays 2012 - Better code through reviews and tools
Techdays 2012 - Better code through reviews and tools
 
Techdaysnl - code review features in tfs vnext
Techdaysnl - code review features in tfs vnextTechdaysnl - code review features in tfs vnext
Techdaysnl - code review features in tfs vnext
 
Growing great (agile) teams
Growing great (agile) teams Growing great (agile) teams
Growing great (agile) teams
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
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
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Kürzlich hochgeladen (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
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
 
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
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
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
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
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
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
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
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

The new way to extend VSTS Build and Release

  • 1.
  • 2. Jesse Houwing Lead Consultant Xpirit @jessehouwing #TECHDAYSNL @VSTEAM
  • 4.
  • 5.
  • 6.
  • 7. Many tasks on The Visual Studio Marketplace
  • 8.
  • 9. You can run your scripts in- line
  • 10.
  • 11. Read the VSTS Task SDK docs Look at the VSTS Task Library Peek at the tasks on the build agent
  • 12. Must have toolbox NodeJS https://nodejs.org/en/ Typings npm install typings -g TypeScript npm install typescript -g TFS-CLI (tfx) npm install tfx-cli -g
  • 13.
  • 14. PowerShell TypeScript Supported on Windows Supported on Windows, Linux and Mac Can call into existing PowerShell modules Can call PowerShell.exe for similar functionality Can call into existing .NET APIs Can call PowerShell.exe for similar functionality Only supported on Windows Single implementation for all platforms Dynamic typing Static typing with compiler and linter Uses TFS Client Object Model to talk to TFS / VSTS REST and SOAP endpoints Uses TypeScript SDK to task to TFS / VSTS REST endpoints Yes you can code a task directly in JavaScript, but why would you?!
  • 16. An Extension manifest Extension ID and Publisher A Task manifest Task ID and Task Name Inputs & Execution Implementation(s) Powershell or TypeScript/Javascript Dependencies Task SDK Tools & other assemblies
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Making them much easier to test than before!
  • 23. Arrange • Import the SDK • Set Environment variable Act • Execute your task Assert • Inspect the expected results Out-of-the-box mocks are on their way!
  • 24. ! Don’t rely on variables Use inputs instead
  • 25. Dev ID: PingTask-DEV Visibility: Private Share: Your Dev Account Preview ID: PingTask-PREVIEW Visibility: Private Preview Share: Trusted Accounts Public ID: PingTask Visibility: Public
  • 26. Version Shipped with PowerShell PowerShell SDK Javascript XPlat Node SDK 1.83 TFS 2015 RTM Yes Preview 1.89 TFS 2015 QU 1 Yes Preview 1.95 TFS 2015 QU 2 Yes Yes Preview 1.95.1 TFS 2015 QU 2.1 Yes Yes Yes 1.95.3 TFS 2015 QU 3 Yes Yes Yes 1.105.6 VSTS Yes Yes Yes 2.105 TFS 15 RC Back compat Yes Yes 2.107 VSTS Back compat Yes Yes
  • 27. ! { "manifestVersion": 1, "id": "vsts-extension-tasks-DEV", "name": "VSTS Extension Tasks", "version": "0.0.0", "publisher": “set-your-own", “public": “false“ }
  • 28.
  • 29.
  • 30.
  • 31. Next steps… Publish your own tasks to the marketplace?
  • 32. Jesse Houwing Lead Consultant Xpirit jhouwing@xpirit.com @jessehouwing #TECHDAYSNL @VSTEAM bit.ly/XpiritMagazine bit.ly/td-minihacks

Hinweis der Redaktion

  1. Xpirit Community noemen
  2. https://www.flickr.com/photos/calliope/3134840025/ You are free to: Share — copy and redistribute the material in any medium or format Adapt — remix, transform, and build upon the material for any purpose, even commercially. The licensor cannot revoke these freedoms as long as you follow the license terms. Under the following terms: Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  3. https://marketplace.visualstudio.com/items?itemName=ms-devlabs.utilitytasks https://marketplace.visualstudio.com/items?itemName=petergroenewegen.PeterGroenewegen-Xpirit-Vsts-Build-InlinePowershell
  4. https://www.flickr.com/photos/samcarriere/8662368246
  5. https://www.flickr.com/photos/118118485@N05/15711649217/ Links: Docs: https://github.com/Microsoft/vsts-task-lib/tree/master Existing tasks: https://github.com/Microsoft/vsts-tasks
  6. https://www.flickr.com/photos/florianric/7263382550
  7. Looks a lot like C# ES6 makes it look even more like C# Compiler checks for obvious mistakes Fewer surprises than PowerShell Makes my task Cross Platform But it takes a bit to really get used to.
  8. tsconfig.json { "compilerOptions": { "target": "ES6", "module": "commonjs", "sourceMap": true } }
  9. https://www.flickr.com/photos/staffanscherz/6161819618
  10. https://www.flickr.com/photos/staffanscherz/6161819618
  11. https://github.com/Microsoft/vsts-task-lib/blob/master/powershell/Docs/TestingAndDebugging.md https://gist.github.com/bryanmacfarlane/154f14dd8cb11a71ef04b0c836e5be6e#file-_suite-ts
  12. Your variable names may collide with those of others Your users don’t need to know which specific names you’ve chosen
  13. A new model is coming
  14. https://msdn.microsoft.com/en-us/magazine/mt767695.aspx
  15. https://www.flickr.com/photos/stigwaage/3218127924
  16. https://www.flickr.com/photos/looking4poetry/262896266/