我的项目中有许多测试是作为构建的一部分运行的。其中一些测试是集成测试,需要使用用户名/密码集的凭据才能运行测试。
我想将这些凭据保留在源代码之外,因此在我的本地计算机上,我将它们设置为用户机密,在服务器上将它们设置为环境变量。在这种安排下,部署工作正常。
我的问题是作为构建的一部分运行测试。测试没有提供任何登录凭据,因此由于身份验证问题而失败。如何在不将这些值添加到appsettings.json文件的情况下提供这些值?
我正在运行一个dotnet核心项目,并且具有标准的Azure DevOps构建模板。
谢谢!
答案 0 :(得分:3)
在构建中声明的非秘密变量会在构建代理上自动转换为环境变量。
有意将 not 秘密变量转换为环境变量,但是您可以添加适合您的平台的命令行或脚本任务(Bash,Powershell等),并通过传递环境变量来设置环境变量秘密作为脚本的参数。