2017-08-25 100 views
0

我遵循多個指南併爲我的構建步驟創建了一個VSIX。我有一個管理員上傳他們,並將他們安裝到我的團隊項目集合。問題是,當我看着他們不能用作任務的構建時。我需要做些什麼才能讓他們出現?如何在TFS 2015上進行自定義任務

我附上了它上傳的屏幕截圖。也是我的JSON配置文件的編輯副本。我不知道什麼是錯的。我也嘗試使用tfx工具來上傳它,但它要求提供個人訪問令牌。

我不相信它在2015年可用。我嘗試使用解決方法,但提琴手給我一個錯誤的標題錯誤。如果任何人都可以指出我的錯誤,將不勝感激。

TFS Gallery

VSS-extension.json

{ 
     "manifestVersion": 1, 
     "id": "Archive-Source-Task", 
     "name": "Archive Source", 
     "public": false, 
     "version": "1.0.1", 
     "publisher": "redacted", 
     "description": "Copy the source", 
     "targets": [ 
     { 
      "id": "Microsoft.VisualStudio.Services" 
     } 
     ], 
     "categories": [ 
     "Build and release" 
     ], 
     "files": [ 
     { 
      "path": "Task" 
     }, 
     { 
      "path": "bin" 
     } 
     ], 
     "contributions": [ 
     { 
      "id": "Archive Source", 
      "type": "ms.vss-distributed-task.task", 
      "targets": [ 
      "ms.vss-distributed-task.tasks" 
      ], 
      "properties": { 
      "name": "task" 
      } 
     } 
     ], 
     "tags": [ 
     "Build", 
     "Release", 
     "Management", 
     "Utility", 
     "Tasks" 
     ] 
    } 

task.json

{ 
    "id": "27203bc5-f3f1-4f80-b2ea-8f62dd4790f1", 
    "name": "Archive Source", 
    "description": "Copies your source", 
    "helpMarkDown": "", 
    "category": "Utility", 
    "author": "", 
    "version": { 
    "Major": 1, 
    "Minor": 0, 
    "Patch": 0 
    }, 
    "groups": [ 
    { 
     "name": "advanced", 
     "displayName": "Advanced", 
     "isExpanded": false 
    } 
    ], 
    "instanceNameFormat": "Archive Source", 
    "visibility": [ 
    "Build" 
    ], 
    "execution": { 
    "PowerShell": { 
     "target": "$(currentDirectory)\\ArchiveSource.ps1", 
     "argumentFormat": "", 
     "workingDirectory": "$(currentDirectory)" 
    } 
    } 
} 

回答

1

根據您的VSS的extension.json文件中的文件部分:

"files": [ 
    { 
     "path": "Task" 
    }, 
    { 
     "path": "bin" 
    } 
    ], 

我懷疑你的文件夾用來放置任務文件被命名爲「任務」,而不是「任務」,所以在貢獻部分中,您還應該在屬性中使用「任務」:

"contributions": [ 
    { 
     "id": "Archive Source", 
     "type": "ms.vss-distributed-task.task", 
     "targets": [ 
     "ms.vss-distributed-task.tasks" 
     ], 
     "properties": { 
     "name": "Task" 
     } 
    } 
    ], 
+0

感謝Eddie,在所有部分中,對我的貢獻仍然是最不合理的。我知道其他事情都在做什麼,但那個對我來說似乎最像黑魔法。很高興你找到了它。 – DoomVroom

+0

@DoomVroom你可以在這裏找到它的說明:https://www.visualstudio.com/en-us/docs/integrate/extensions/develop/add-build-task#step-2-create-the-extension-清單文件 –

0

當我們使用TFS 2015年,我們部署喜歡這篇文章中描述我們的任務:https://blogs.infosupport.com/custom-build-tasks-in-tfs-2015/

主要區別在於你不需要編輯vss-extension.json,並使用此鏈接中提供的Power Shell腳本進行部署。

後來當我們遷移到TFS 2017時,我們不得不改變我們的構建任務來像你一樣部署它。