繁体   English   中英

如何使用 azure build yml 将环境变量添加到容器中?

[英]How do I add environment variables to a container with azure build yml?

尝试使用 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任务中设置环境变量(env:xxx),该变量只能被当前任务使用。

您可以尝试使用 script 设置变量,然后可以通过以下任务使用这些变量。

例如:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      # Write your PowerShell commands here.
      echo "##vso[task.setvariable variable=MY_MAPPED_ENV_VAR]$(discordToken)"

您可以在Settings -> Variables中设置参考变量:

变量

这是一张关于在 dockerfile 中设置环境变量的票,它可能会对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM