撰寫VSTS的Build Task

  • 225
  • 0
  • 2017-01-15

撰寫VSTS的Build Task

開發環境準備:

  • VS Code、node.js
  • 安裝tfx-cli
    npm i -g tfx-cli

初始化開發環境:

  • 建立套件資料夾
  • 以VS Code開啟
  • 建立vss-extension.json
  • 安裝vsts-task-sdk,使用 npm i vsts-task-sdk -D

建立Task:

  • 執行 tfx build tasks create
  • 指定Task Name、Friendly Task Name、Task Description、Task Author,會建立出一個folder,裡面已經有一個sample的task定義
  • 準備好task的icon(圖片大小需要是32X32)
  • 建立MSDeployExecute.ps1
  • 建立MSDeploy.cmd
  • 在task.json的execution中,留下Powershell3的execution,把target指定成MSDeployExecute.ps1
  • 在task.json中,更改category為Deploy
  • 設定inputs,加入verb和otherArgs的參數
  • 定義task的版本號
  • 找到node_modules/vsts-task-sdk/VstsTaskSdk,將其複製到task資料夾中的ps_modules,路徑要是 task資料夾/ps_modules/VstsTaskSdk

封裝套件:

  • 編輯vss-extension.json,在files中加入task的資料夾msdeploy
  • 在contributions中加入task
  • 最後執行 tfx extension create 建立套件
  • 執行完成會在套件資料夾中看到一個副檔案為vsix的檔案

上傳到TFS上使用:

  • 在TFS網站上的右上角
  • 點擊 瀏覽TFS擴充功能
  • 找到管理擴充功能
  • 點擊上傳新的擴充功能
  • 將vsix上傳到server
  • 上傳完成後將其完裝到要使用的collection
  • 最後即可在建置或發行時使用

 

原始碼:https://github.com/PhoenixChen2016/ValhallaBuildTasks