我必须传递数据库,用户名和密码才能从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}#

然后,将任务“替换令牌”任务添加到管道中。在“变量”选项卡上添加值:

java - 如何将VSTS变量传递到MAVEN项目的属性文件中-LMLPHP

对于任务配置,只需指定目标文件的值即可:

java - 如何将VSTS变量传递到MAVEN项目的属性文件中-LMLPHP

生成完成后,找到本地文件。这是我的测试结果,您可以看到替换成功:

java - 如何将VSTS变量传递到MAVEN项目的属性文件中-LMLPHP

注意:使用此任务进行构建时,它将报告一些错误消息,例如:##[error]EISDIR: illegal operation on a directory, read。但是实际上它并不影响这些变量替换操作。您将看到文件已成功替换。

09-27 20:07
查看更多