我必须传递数据库,用户名和密码才能从VSTS连接到数据库。我正在执行一个Maven项目。
我在VSTS中定义了变量。
我想要一个属性文件,例如
datasource.url="${database}"
datasource.username="${username}"
datasource.password="${password}"
可以这样做吗?还是应该从Java代码中获取变量?
最佳答案
可以这样做吗?还是我应该从Java获取变量
码?
当然可以。而且,您无需执行其他复杂的操作,只需使用名称为Replace Tokens task的任务即可。
它不仅在.config
文件中有效,而且在.properties文件中也非常有效。
作为示例,只需更改变量的定义,以便可以正确访问它:
datasource.url="#{database}#"
datasource.username="#{username}#"
datasource.password="#{password}#"
.properties
文件中变量的格式为#{VariableName}#
。然后,将任务“替换令牌”任务添加到管道中。在“变量”选项卡上添加值:
对于任务配置,只需指定目标文件的值即可:
生成完成后,找到本地文件。这是我的测试结果,您可以看到替换成功:
注意:使用此任务进行构建时,它将报告一些错误消息,例如:
##[error]EISDIR: illegal operation on a directory, read
。但是实际上它并不影响这些变量替换操作。您将看到文件已成功替换。