Please follow me on Twitter to get more updates on memes, tech news, devops/developer content!
/ codedoge4
#Azure #Devops #Extensions #Custom #Tasks
This is Part 1 or the first part in a #series that will cover how to make #custom #vsts aka #azure #devops #build and #release #extensions or #tasks. This video will cover how to create a custom extension in Azure Devops using #nodeJS and #typescript as well as #tfxcli
Link to the previous video that covers how to #install any and all #dependencies that you may require.
I understand that many may have come here looking for how to create a build and release task using #powershell and I will cover that in a future part. Long story short, it will utilize powershell #module and a slight different approach in terms of #manifest and other #config #files
This video overviews the process to create a custom build and release task for Azure DevOps all the way from scratch to publishing it into azure #marketplace and associating it with your project. Topics such as #testing will be covered in the follow up part 2 or next video. Powershell implementation will be in part 3.
Part 0 : Installing dependencies - • Custom Task Extensions - Installing Depend...
Part 1 : Creating Custom Build & Release extension (This video is Part 1) - • Custom Task Extensions - Creating a new Bu...
Part 2 : Unit testing with Mocha - • Custom Task Extensions - Using Mocha to Un...
Part 3: Powershell tasks
Important Time Stamps :
00:00 - Intro & powerpoint
00:52 - Pre-requisites and Dependencies
01:15 - Folder directory and structure
02:17 - Task overview
03:21 - Create "home" directory
04:46 - Explain Task Scaffolding
05:45 - NPM init command
06:57 - Run and install azure pipelines
07:36 - Install Typescript dependencies
08:14 - Reason why we create .gitignore file
09:25 - Default version for Typescript if not specified
09:37 - Run npm install typescript specific version
09:58 - Preface the tsconfig file
10:23 - Completion of Task Scaffolding
10:37 - Creating empty task.json
10:56 - Adding default template for task.json and breaking down what needs to change
11:47 - GUID explanation and website link
13:09 - Create ts file
13:42 - Create javascript files from ts files
14:15 - Open powershell to test
16:16 - Explanation and overview + implementation of Manifest file
17:56 - Adding extension icons
18:43 - Create and update the vss-extension.json
19:30 - Why we need unique publisher ID
20:02 - Creating a brand new publisher in Azure DevOps
21:05 - Quick overview of vssextension.json file + other changes required
21:47 - Preface TFXCLI
22:10 - Running commands to package your extension
23:19 - Explain the different ways you can upload your package/extension
23:50 - Method 1 for upload - Manual upload
24:45 - What to expect once completed with upload
24:58 - Manually remove extension
25:29 - Method 2 for upload - Gathering devops organization info command execution
26:10 - Method 2 for upload - creating Personal Access Token or PAT
27:21 - Method 2 for upload - running command to publish the task and its results
29:36 - How to share extension with a VSTS or Azure Devops Project
30:25 - How to install extension into your project
30:52 - Execution of the task example and overview
32:02 - How to update the extension/task
35:54 - additional testing to confirm the task is updated
36:42 - What to expect in next installments like unit testing and powershell module
37:26 - Like and subscribe! Share the video with others to help the channel grow which will help more topics being created!
#Github Link : https://github.com/jc566/Youtube_Solu...
Important Links :
1) #Microsoft #Documentation - https://docs.microsoft.com/en-us/azur...
2) Index ts schema - https://github.com/jc566/Youtube_Solu...
3) VSS-Extension.json schema - https://github.com/jc566/Youtube_Solu...
4) Task.json schema - https://github.com/jc566/Youtube_Solu...
Thanks for watching!
Ignore the next chunk of words as its just there in the description to help get picked up.
tfs tfvc tfx-cli vsts azure devops custom task custom extension xml yaml xaml yml build release build and release task build and release extension build task release task build extension release extension Hidden Message that Charizard is the best pokemon node js nodejs node.js typescript javascript js custom nodejs task custom nodejs extension compile typescript tsc build pipeline release pipeline cicd pipeline devops pipelines deployment pipeline deployment task deployment extension tfs task tfvc task git repo repository vcs