簡體   English   中英

如何將機密作為環境變量傳遞到 Docker Github Action 中?

[英]How to pass secrets as environment variables into a Docker Github Action?

在我的工作流程中,我使用以下步驟運行自定義操作:

- name: Run action
  uses: ./backend
  env:
    MY_SECRET: ${{ secrets.MY_SECRET }}

這是action.yml

name: "Backend"
on: [pull_request]
runs:
  using: 'docker'
  image: "Dockerfile"

出於某種原因,我的Dockerfile MY_SECRET為空。 我嘗試在 shell 腳本文件和RUN命令中訪問它:

RUN echo "MY_SECRET: $MY_SECRET"

但它總是空的。

我嘗試了存儲庫級別和組織級別的機密,但環境變量始終為空。

知道為什么嗎?

您不能在容器內使用$MY_SECRET 相反,您應該通過--build-arg標志傳遞參數。

我認為你應該做這樣的事情:

steps:
  - run: docker build --build-arg MY_SECRET=$MY_SECRET .

然后您將能夠在構建階段訪問MY_SECRET

如果您使用操作而不是手動構建,您應該了解如何傳遞構建參數。

暫無
暫無

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

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