提问人:Viktor Eriksson 提问时间:11/16/2023 更新时间:11/16/2023 访问量:40
在 Azure Pipelines 中使用 replaceTokens 时,在多行变量中保持缩进
Keep indentation in multi line variables when using replacetokens in azure pipelines
问:
我在 azure 管道中定义了这个变量。
application.properties: |
customMessage=This is dev machine
customMessage2=This is dev machine2
我使用 replacetokens 任务将样式 #{someVariable}# 的模式替换为实际值。
我在这里使用它:
apiVersion: v1
kind: ConfigMap
metadata:
name: app-test-config
namespace: xxx
data:
application.properties: |
#{application.properties}#
但这会导致以下结果:
apiVersion: v1
kind: ConfigMap
metadata:
name: app-test-config
namespace: xxx
data:
application.properties: |
customMessage=This is dev machine
customMessage2=This is dev machine2
第一行没问题,但其余部分的缩进错误。
如何使所有行都有正确的缩进
答:
1赞
Alvin Zhao
11/16/2023
#1
该任务似乎只能替换多行变量的值,但不能保持缩进。replacetokens@5
为此,我们可以选择在管道中定义多个单行变量。
variables:
customMessage: This is dev machine
customMessage2: This is dev machine2
并编辑目标文件。
apiVersion: v1
kind: ConfigMap
metadata:
name: app-test-config
namespace: xxx
data:
application.properties: |
customMessage=#{customMessage}#
customMessage2=#{customMessage2}#
输出符合预期。
评论
0赞
Viktor Eriksson
11/17/2023
是的,这是我目前的解决方法。我宁愿在变量部分中将配置作为一个整体键入。
0赞
Alvin Zhao
11/17/2023
事实上,这只是一种解决方法,我认为它目前在我们的场景中不支持缩进。为此,您还可以利用扩展任务的支持链接,并可能向他们的维护者报告当前的限制/建议。您是否考虑接受当前的解决方法,这可能会帮助其他有类似担忧的人?感谢。
评论