How to use pipeline variable inside property file from git

Viewed 1480

In Azure pipeline I download kubernetes deployment.yml property file which contains following content.

spec:
  imagePullSecrets:
  - name: some-secret
  containers:
  - name: container-name
    image: pathtoimage/data-processor:$(releaseVersion)
    imagePullPolicy: Always
    ports:
    - containerPort: 8088
    env:

My intention is to get the value from pipeline variable $(releaseVersion). But it seems like kubernetes task doesn't allow this value to be accessed from pipeline variable.

I tried using inline configuration type and it works.That means If I copy same configuration as inline content to kubernetes task configuration, it works.

Is there anyway that I can make it work for the configuration from a file?

2 Answers

As I understand, you may want to replace the variable of deployment.yml file content while build executed.

You can use one task which name is Replace Tokens task (Note:The token under this task name is not same with PAToken). This is the task which support replace values of files in projects with environments variables when setting up VSTS Build/Release processes.

Install Replace Tokens from marketplace first, then add Replace Tokens task into your pipeline.

Configure the .yml file path in the Root directory. For me, my target file is under the Drop folder of my local. And then, point out which file you want to operate and replace.

enter image description here

For more argument configured, you can check this doc which I ever refer: https://github.com/qetza/vsts-replacetokens-task#readme

Note: Please execute this task before Deploy to Kubernetes task, so that the change can be apply to the Kubernetes cluster.

Here also has another sample blog can for you refer.

Related