我正在创建用于部署应用程序的管道,我已经在azure管道中为数据库密码创建了变量组,并希望在用于部署应用程序的单独yaml中使用密码值。 azure-pipeline.yml
variables:
- group: databaseCredentials
steps:
- script: |
set -x
export POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
下面是我的秘密yaml文件secret.yaml:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
postgres-password: ${{POSTGRES_PASSWORD}}
我想在yaml文件中使用env变量值,我曾这样尝试过,但是失败了,我不想进行搜索/替换。 请提出建议。
答案 0 :(得分:1)
如果要修改yaml文件,可以使用Token replace task。它将允许您使用变量值替换文件中的令牌。
这里有示例用法:
<MaterialHelperTextBox
style={styles.materialHelperTextBox}
></MaterialHelperTextBox>
<MaterialHelperTextBox1
style={styles.materialHelperTextBox1}
></MaterialHelperTextBox1>
您的文件应该是:
- task: replacetokens@3
inputs:
targetFiles: 'yourfile.yaml'
encoding: 'auto'
writeBOM: true
actionOnMissing: 'warn'
keepToken: false
tokenPrefix: '#{'
tokenSuffix: '}#'
useLegacyPattern: false
enableTelemetry: true
然后您就不需要了:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
postgres-password: #{POSTGRES_PASSWORD}#
除非没有其他地方要使用此env变量。