簡體   English   中英

在具有構建代理和/或部署組的前提下在TFS 2018上進行部署

[英]Deployment on TFS 2018 on premises with build agent and/or deployment group

我們正在使用TFS 2018本地。 在我們的服務器上,我們建立了一個構建代理,可以按需構建我們的項目。 在發布任務中,我配置了一個文件共享,可在其中找到我的構建。 該構建服務器還托管了我們的登台和測試網站。

現在有機會創建一個部署組。 部署組應該能夠將構建直接部署到Web服務器。

如果創建部署組,則會提供用於注冊部署代理的腳本。

現在我的問題是:我是否必須在構建服務器上注冊該Depoyment代理,該構建服務器還托管我們的登台網站,或者該代理與已注冊的構建代理相同?

我必須注冊兩個代理商嗎?

如果我的陳述網站在構建機器上,是否可以僅使用構建功能進行部署,還是必須設置部署組,然后再配置發布定義?

如果必須設置部署組和發布,是否已將構建時的發布任務從文件共享更改為服務器?

另外注冊代理:

如果我嘗試注冊代理,則會收到錯誤消息:

使用2個參數調用“ DownloadFile”時發生異常:“請求已中止:無法創建受保護的SSL / TLS通道。”

這是因為需要密碼嗎? 構建代理沒有這樣的問題。 還是生成代理已經使用SSL / TLS通道之類的原因?

注冊腳本為:

$ ErrorActionPreference =“ Stop”; If(-NOT([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity] :: GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]“ Administrator”)){throw“在Administrator PowerShell提示符中運行命令“}; If(-NOT(測試路徑$ env:SystemDrive \\'vstsagent')){mkdir $ env:SystemDrive \\'vstsagent'}; cd $ env:SystemDrive \\'vstsagent'; for($ i = 1; $ i -lt 100; $ i ++){$ destFolder =“ A” + $ i.ToString(); if(-NOT(Test-Path($ destFolder))){mkdir $ destFolder; cd $ destFolder; break;}}; $ agentZip =“ $ PWD \\ agent.zip”;(新對象Net.WebClient).DownloadFile(' https://go.microsoft.com/fwlink/?linkid=867184',$ agentZip);添加類型- AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile] :: ExtractToDirectory($ agentZip,“ $ PWD”);。\\ config.cmd --deploymentgroup --agent $ env:COMPUTERNAME --runasservice- -work'_work'--url'https :// xxxxxx:1234 / '--collectionname'DefaultCollection'-項目名稱'ABCDEFGH'--deploymentgroupname“ DEV”; Remove-Item $ agentZip;

注冊部署組時,會將代理安裝在屬於該部署組的服務器上。 部署組是代理程序池的一種特殊類型。 即使計算機上已經在運行其他代理,也必須使用提供的腳本安裝該代理,以便在部署組的代理池中注冊一個代理。

部署組僅在發行版定義中起作用-您必須使用“在部署組上運行”階段。 然后,您添加到部署組階段的任務將直接在部署組中的計算機上運行。

只要屬於部署組的計算機可以訪問將工件發布到的文件共享,您就應該能夠繼續使用文件共享來存儲構建工件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM