首页 > 解决方案 > 将 Mongodb Atlas Operator env vars 从 travis 传递到 kubernetes deploy.sh

问题描述

我正在尝试在此处调整 Mongo Atlas Operator 的快速入门指南Atlas Operator Quickstart以使用在 TravisCI 中设置的安全环境变量。

我想将快速启动脚本放入我的 deploy.sh 中,它是从我的 travis.yaml 文件触发的。

我的 travis.yaml 已经设置了一个全局变量,如下所示:

env:
 global:
    - SHA=$(git rev-parse HEAD)

deploy.sh 文件使用它,如下所示:

docker build -t mydocker/k8s-client:latest -t mydocker/k8s-client:$SHA -f ./client/Dockerfile ./client

但我不确定如何将 travis 设置中的环境变量位中设置的 vars 传递给 deploy.sh

环境变量

这是我想将变量传递给的脚本部分:

    kubectl create secret generic mongodb-atlas-operator-api-key \
  --from-literal="orgId=$MY_ORG_ID" \
  --from-literal="publicApiKey=$MY_PUBLIC_API_KEY" \
  --from-literal="privateApiKey=$MY_PRIVATE_API_KEY" \
  -n mongodb-atlas-system

例如,我假设 --from-literal 语法只会放入文字字符串“orgId=$MY_ORG_ID”,并且我需要使用管道语法 - 但我可以按照以下方式做一些事情吗?:

echo "$MY_ORG_ID" | kubectl create secret generic mongodb-atlas-operator-api-key --orgId-stdin

还是我需要在我的 travis.yaml before_install 脚本中添加一些内容?

标签: kubernetestravis-cimongodb-atlas

解决方案


看起来echo方法很好,我发现了一个与你类似的用例,看看这里


推荐阅读