将 Mongodb Atlas Operator 环境变量从 travis 传递到 kubernetes deploy.sh
Pass Mongodb Atlas Operator env vars from travis to 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 设置中环境变量位中设置的变量传递给 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 脚本中添加一些东西吗?
看起来 echo
方法不错,我发现了一个与您类似的用例,看看 here.
我正在尝试调整 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 设置中环境变量位中设置的变量传递给 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 脚本中添加一些东西吗?
看起来 echo
方法不错,我发现了一个与您类似的用例,看看 here.