如何将 Github 秘密作为环境变量传递给 Docker?
How to pass a Github Secret as Environment Variable to Docker?
我开始使用 CI/CD 和 Docker,我想在我的工作流程文件中将连接字符串传递给 docker。
deploy:
runs-on: ubuntu-latest
needs: publish
steps:
- name: deploy to server
uses: appleboy/ssh-action@master
env:
CONN_STRING: ${{ secrets.CONN_STRING }}
with:
host: ${{ secrets.SECRET_IP }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_KEY }}
port: 22
script: docker stop *** && docker rm **** && docker pull **** && docker run --env CONN_STRING=$CONN_STRING -d --name ******
如您所见,我创建了一个名为“CONN_STRING”的环境,它从我的 github 秘密中获取连接字符串。之后我想通过“CONN_STRING=$CONN_STRING”将它传递到 docker 脚本中。但是,自从我添加了这个之后,我的 docker 一直在崩溃。任何人都知道我做错了什么?
**** 只是我的项目名称,我想保密。
您可以在 FROM
步骤后添加 arg:
ARG CONN_STRING
ENV connection_string=$CONN_STRING
然后将其传递给 docker 构建命令 '--build-arg CONN_STRING=$CONN_STRING'
稍后在 dcoker 文件中,您可以将连接字符串引用为 ${connection_string}
原来你可以跳过yml中的环境变量并使用
CONN_STRING=${{ secrets.CONN_STRING }}
我开始使用 CI/CD 和 Docker,我想在我的工作流程文件中将连接字符串传递给 docker。
deploy:
runs-on: ubuntu-latest
needs: publish
steps:
- name: deploy to server
uses: appleboy/ssh-action@master
env:
CONN_STRING: ${{ secrets.CONN_STRING }}
with:
host: ${{ secrets.SECRET_IP }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_KEY }}
port: 22
script: docker stop *** && docker rm **** && docker pull **** && docker run --env CONN_STRING=$CONN_STRING -d --name ******
如您所见,我创建了一个名为“CONN_STRING”的环境,它从我的 github 秘密中获取连接字符串。之后我想通过“CONN_STRING=$CONN_STRING”将它传递到 docker 脚本中。但是,自从我添加了这个之后,我的 docker 一直在崩溃。任何人都知道我做错了什么? **** 只是我的项目名称,我想保密。
您可以在 FROM
步骤后添加 arg:
ARG CONN_STRING
ENV connection_string=$CONN_STRING
然后将其传递给 docker 构建命令 '--build-arg CONN_STRING=$CONN_STRING'
稍后在 dcoker 文件中,您可以将连接字符串引用为 ${connection_string}
原来你可以跳过yml中的环境变量并使用
CONN_STRING=${{ secrets.CONN_STRING }}