所以我有一个.yml
文件,其中包含" secure"我需要传递给mvn clean test
命令的一些加密值的变量。
我有类似
的东西language: java
jdk:
- oraclejdk8
env:
global:
# Output of the command, 'travis encrypt MY_SECRET_KEY=super_secret'
- secure: Q0LjGCaS2LIB0z1XH1Qx4uAmGgG9mIlsZAtdSGbgd4XwRbWM5zPxaRtoe5YJCt4zeAOu9+TYxpqa5kv5EyizY0zSC8dEZQu6Ur7jfre2FaJ9O0sSq72Cn2cTVVXTEQi+CPnaK/pki/NpDSN6Zt82n7ypgxZOInFT+BtcXDK8ok0=
script: # Did I pass the secured variable correctly in the maven clean test command?
- mvn clean test -Denvironment=QA -DsecretKey=$MY_SECRET_KEY
我传递了我在原始" Travis加密"中使用的变量名称。命令。请看一下,我们应该如何传递加密的全局变量,以便在构建期间在maven clean test
命令中设置其解密值?
答案 0 :(得分:0)
您可以在maven pom.xml中评估环境变量
,而不是命令行中的设置秘密变量请输入此变量的pom.xml定义
<properties>
<secretKey>${env.MY_SECRET_KEY}</secretKey>
</properties>
一个缺点是当你没有设置MY_SECRET_KEY
时,maven就不能解决这个问题。但您可以查看这个问题:How can I use a default value if an environment variable isn't set for resource filtering in maven?