[尝试使用azure将应用程序部署到kubernetes。我有一个构建管道yml文件,并且在管道中设置了一个名为“ discordToken”的变量。我尝试用两种不同的方式设置它,一种叫做discordToken,另一种是MY_MAPPED_ENV_VAR。在我正在执行的节点项目中
console.log( process.env.discordToken )
console.log( process.env.MY_MAPPED_ENV_VAR )
但所有内容仍会以未定义的形式返回。
stages:
- stage: Build
displayName: Build stage
jobs:
- job: Build
displayName: Build
pool:
vmImage: $(vmImageName)
environment:
discordToken: $(discordToken)
steps:
- powershell: |
env:
MY_MAPPED_ENV_VAR: $(discordToken)
- task: Docker@2
displayName: Build and push an image to container registry
inputs:
command: buildAndPush
repository: $(imageRepository)
dockerfile: $(dockerfilePath)
containerRegistry: $(dockerRegistryServiceConnection)
tags: |
$(tag)
我应该如何设置环境变量?
据我所知,如果您直接在Powershell Task中设置环境变量(env:xxx),则该变量只能由当前任务使用。
您可以尝试set the variables with script,然后后续任务可以使用变量。
例如:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
echo "##vso[task.setvariable variable=MY_MAPPED_ENV_VAR]$(discordToken)"
您可以在设置->变量中设置参考变量:
这里有关于set environment variables in dockerfile的票,可能会对您有所帮助。