簡體   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