簡體   English   中英

AWS CodePipline & Codebuild - 如何向 Docker-Image 添加環境變量?

[英]AWS CodePipline & Codebuild - How to add environment variables to the Docker-Image?

謝謝任何幫助。

我將 AWS-CodePipline 與 AWS-CodeBuild 一起使用(對於我的 Dockerfile 並將其保存在 ECR 中)。 到目前為止,它正在工作。 但我不明白如何在項目中獲取環境變量。 所以我將我的 Github 帳戶與 CodePipline 連接起來,為了安全起見,我沒有將我的環境推送到 Github。 所以現在我在 Github 上有一個 env 文件,如:

config/prod.env

ACCESS_TOKEN_SECRET=
CSRF_TOKEN_SECRET=
ACCESS_TOKEN_PASSWORD=
REFRESH_TOKEN_SECRET=
CLUDINARY_API=
CLUDINARY_API_SECRET=
CLUDINARY_API_NAME=
GOOGLE_AUDIENCE=
ORIGIN=
GOOGLE_TOKEN=
DATABASE_URL=
NODE_ENV=
FORGOTTEN_PASSWORD=
YAHOO_PASSWORD=

現在 AWS-CodeBilder 上有一個環境變量部分(圖片來自 AWS-Doc)。 在此處輸入圖像描述

現在我覺得這不是 env 的正確位置。 因為如果我將所有變量都放在字段中,我會收到錯誤消息:

ValidationException
1 validation error detected: Value at 'pipeline.stages.2.member.actions.1.member.configuration' failed to satisfy constraint: Map value must satisfy constraint: [Member must have length less than or equal to 1000, Member must have length greater than or equal to 1]

關於示例:

Name: ACCESS_TOKEN_SECRET
Value: My_SUPER_PASSWORD

如果我只使用幾個變量,我不會得到錯誤,但對於所有變量,我都會得到錯誤(與 env 組合無關)。 我做錯了什么? 如何使用 CodeBuild 和 CodePipline 將我的環境變量添加到 ECR 中的 Docker-Image?

要從 Code Build Project 傳遞變量,您需要在 buildspec.yml 文件中設置 env: 部分,例如

env:
  variables:
    Execution_ID: $Execution_ID
    Commit_ID: $Commit_ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM