Version control TFS客户端是否需要生成服务器调用的工具的本地副本?
假设有一个TFS服务器,其中安装了某种WF构建活动。例如,这只是一个示例,假设活动获取生成输出,解密存储在服务器上某处的凭据,并执行需要解密凭据的操作:可能它通过网络将生成输出的副本发送到客户端无法直接访问的某台计算机Version control TFS客户端是否需要生成服务器调用的工具的本地副本?,version-control,tfs,build-server,Version Control,Tfs,Build Server,假设有一个TFS服务器,其中安装了某种WF构建活动。例如,这只是一个示例,假设活动获取生成输出,解密存储在服务器上某处的凭据,并执行需要解密凭据的操作:可能它通过网络将生成输出的副本发送到客户端无法直接访问的某台计算机 TFS客户端是否需要具有执行该操作的生成活动的本地副本?或者他们只是将代码更改推送到服务器,让TFS服务器决定如何生成代码以及如何处理生成输出?或者客户端是否可以控制TFS用于构建代码的工具以及它对构建输出执行的操作?回到我提供的示例,如果要求用户提供生成后操作的凭据,活动的实施
TFS客户端是否需要具有执行该操作的生成活动的本地副本?或者他们只是将代码更改推送到服务器,让TFS服务器决定如何生成代码以及如何处理生成输出?或者客户端是否可以控制TFS用于构建代码的工具以及它对构建输出执行的操作?回到我提供的示例,如果要求用户提供生成后操作的凭据,活动的实施者是否负责确保凭据在从客户端传输到服务器时得到适当的保护,或者TFS是否负责这一点?一旦创建,您就可以将团队构建自定义构建活动放入。当执行这样的构建时,TFS将自动获取二进制文件 至于安全地为构建提供凭据,TFS不会为您提供任何帮助。尽管可以在TFS服务器上使用SSL配置SSL安全性保护与TFS的通信,但构建参数也以纯文本格式存储在TSF数据库中 您的自定义活动和用于编辑值的设计器可以提供某种形式的值加密,这将确保它们不是存储在服务器数据库中的纯文本,但您可能必须使用静态密钥才能工作
最好的解决方案是在您需要的用户凭据下运行生成代理,这样生成代理本身就具有适当的权限,并且不会通过网络传输任何凭据或机密,因为生成代理将使用NTLM或Kerberos进行身份验证。生成发生在安装了TFS生成代理的生成服务器上。任何自定义活动都会签入TFS,并在生成控制器属性中告诉它该目录的位置。生成控制器确保该目录中的所有程序集作为生成过程的一部分下载到每个生成代理