Docker 如何在不提交git的情况下在circleci中传递环境变量

Docker 如何在不提交git的情况下在circleci中传递环境变量,docker,environment-variables,circleci,dockerhub,circleci-2.0,Docker,Environment Variables,Circleci,Dockerhub,Circleci 2.0,我有一个简单的项目,我正在工作 我将circleci用于我的CI/CD管道 当我按下提交按钮时,构建运行、测试运行,如果通过,应用程序将打包到docker映像中 然后图像被推到dockerhub,从这里我可以在docker compose或kubernetes或其他任何形式中下拉图像 这一切都很完美 我的问题是,如何将docker hub凭据传递给circleci,而不通过提交给源代码管理将其公开? 在以前的项目中,我觉得我在AWS上部署了一个无服务器框架项目,为此,我确信我将我的AWS凭据存储

我有一个简单的项目,我正在工作

我将circleci用于我的CI/CD管道

当我按下提交按钮时,构建运行、测试运行,如果通过,应用程序将打包到docker映像中

然后图像被推到dockerhub,从这里我可以在docker compose或kubernetes或其他任何形式中下拉图像

这一切都很完美

我的问题是,如何将docker hub凭据传递给circleci,而不通过提交给源代码管理将其公开?

在以前的项目中,我觉得我在AWS上部署了一个无服务器框架项目,为此,我确信我将我的AWS凭据存储在circleci的某个地方,这样我就可以在我的.circleci/config.yml中安全地引用它们

这是很久以前的事了,我不知道怎么做

谁能用这个给我指一下正确的方向吗

我提供config.yml只是为了更简洁地说明我的工作流程

版本:2
工作:
建造:
码头工人:
-图片:circleci/golang:1.11
环境:
测试结果:/tmp/测试结果
步骤:
-结帐
-运行:mkdir-p$TEST\u RESULTS
-还原U缓存:
钥匙:
-v1打包缓存
-运行:获取github.com/lib/pq
-运行:获取github.com/mattes/migrate
-运行:获取github.com/jstemmer/go-junit-report
-运行:转到mod下载
-运行:开始构建
-运行:
名称:运行单元测试
命令:进行测试。/。。。
-保存缓存:
键:v1 pkg缓存
路径:
-“/go/pkg”
-运行:
名称:启动服务
命令:go run main.go
背景:对
-存储_工件:
路径:/tmp/测试结果
目的地:原始测试输出
-存储测试结果:
路径:/tmp/测试结果
-设置\u远程\u码头工人:
docker_层_缓存:true
#TODO:需要从环境变量安全地提取docker hub凭据,然后docker映像可以推送到dockerhub。
-运行:
名称:构建和推送容器
命令:|
docker构建-t myrepo/im项目:最新-t myrepo/im项目:v0.0.1。
echo$DOCKER_PWD | DOCKER登录-u用户名-p密码

docker push myrepo/im项目:最新的
您可以通过UI设置私有环境变量

我相信环境变量是你所寻找的。对于仍在寻找管理无服务器应用程序机密的方法的人,这里有一篇帖子,非常感谢。这正是我想要的。