我想用 NAnt (V0.86.3317.0) 在 SourceGear Vault (V4.1.4) 中执行一些任务。
有什么方法可以让 Vault 使用 NAnt 的 Windows 身份验证来创建连接?
我用来初始化保险库连接的 NAnt 块是:
<target name="InitialiseVaultSettings">
<echo>InitialiseVaultSettings</echo>
<vaultsetloginoptions user="${vault.Username}" password="${vault.Password}" URL="${vault.Host}" repository="${vault.Repository}" />
<vaultsetworkingfolder repositoryFolderPath="${vault.Folder}" diskPath="${vault.WorkingDirectory}" createDiskPath="true" />
由于我正在与其他开发人员一起开发该项目,因此将用户名和密码硬编码到 NAnt 构建文件中并不是一个好主意。username
和都是命令password
中的必需选项。vaultsetloginoptions
其他替代品(全部带有渔获物)包括:
(a) 将“管理员”帐户硬编码到 NAnt 属性中并使用该帐户登录保险库。这不是很好,因为我们随后松散了谁负责 NAnt 脚本执行的签入/签出操作的审计跟踪。当解决方案签出文件时,它也会导致问题(部分脚本确保在 Vault 中生成标签之前将所有文件签回源代码管理)。
(b) 使用 NAnt 代码中的 C# 脚本来动态设置用户名和密码的属性...除了我们仍然遇到从用户获取密码的问题
(c) 从 Vault 客户端读取存储的配置文件信息并使用它进行连接(除非我不确定它的存储位置)。