如何在 git 的 属性 文件中使用管道变量
How to use pipeline variable inside property file from git
在 Azure 管道中,我下载了包含以下内容的 kubernetes deployment.yml 属性 文件。
spec:
imagePullSecrets:
- name: some-secret
containers:
- name: container-name
image: pathtoimage/data-processor:$(releaseVersion)
imagePullPolicy: Always
ports:
- containerPort: 8088
env:
我的意图是从管道变量 $(releaseVersion)
中获取值。但似乎 kubernetes
任务不允许从管道变量访问此值。
我尝试使用内联配置类型,它 works.That 意味着如果我将与内联内容相同的配置复制到 kubernetes
任务配置,它就可以工作。
有什么方法可以使它适用于文件中的配置吗?
您应该将其作为管道的一部分,以替换部署模板中的环境变量
大致如下:
- sed -i "s/$(releaseVersion)/${RELEASE_VERSION_IN_BUILD_RUNNER}/" deployment.yml
- kubectl apply -f deployment.yml
您可以在管道中设置变量。 https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch
据我了解,您可能希望在构建执行时替换 deployment.yml 文件内容的变量。
您可以使用一个名为Replace Tokens task的任务(注意:此任务名称下的token不相同与 PAToken)。这是在设置 VSTS Build/Release 进程时支持使用环境变量替换项目中文件值的任务。
首先从市场安装 Replace Tokens,然后将 Replace Tokens 任务 添加到您的管道中。
配置根目录下的.yml文件路径。对于我来说,我的目标文件在我本地的 Drop 文件夹下。然后,指出你要操作和替换的文件。
更多参数配置,你可以查看我曾经参考过的文档:https://github.com/qetza/vsts-replacetokens-task#readme
注意:请在 Deploy to Kubernetes 任务之前执行此任务,以便更改可以应用到 Kubernetes 集群。
这里还有一个sample blog可以供大家参考
在 Azure 管道中,我下载了包含以下内容的 kubernetes deployment.yml 属性 文件。
spec:
imagePullSecrets:
- name: some-secret
containers:
- name: container-name
image: pathtoimage/data-processor:$(releaseVersion)
imagePullPolicy: Always
ports:
- containerPort: 8088
env:
我的意图是从管道变量 $(releaseVersion)
中获取值。但似乎 kubernetes
任务不允许从管道变量访问此值。
我尝试使用内联配置类型,它 works.That 意味着如果我将与内联内容相同的配置复制到 kubernetes
任务配置,它就可以工作。
有什么方法可以使它适用于文件中的配置吗?
您应该将其作为管道的一部分,以替换部署模板中的环境变量
大致如下:
- sed -i "s/$(releaseVersion)/${RELEASE_VERSION_IN_BUILD_RUNNER}/" deployment.yml
- kubectl apply -f deployment.yml
您可以在管道中设置变量。 https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch
据我了解,您可能希望在构建执行时替换 deployment.yml 文件内容的变量。
您可以使用一个名为Replace Tokens task的任务(注意:此任务名称下的token不相同与 PAToken)。这是在设置 VSTS Build/Release 进程时支持使用环境变量替换项目中文件值的任务。
首先从市场安装 Replace Tokens,然后将 Replace Tokens 任务 添加到您的管道中。
配置根目录下的.yml文件路径。对于我来说,我的目标文件在我本地的 Drop 文件夹下。然后,指出你要操作和替换的文件。
更多参数配置,你可以查看我曾经参考过的文档:https://github.com/qetza/vsts-replacetokens-task#readme
注意:请在 Deploy to Kubernetes 任务之前执行此任务,以便更改可以应用到 Kubernetes 集群。
这里还有一个sample blog可以供大家参考