我在helm
脚本中使用以下gitlab-ci.yml
(2.4.2)命令:
- helm upgrade --install myapp-db --wait --set postgresUser=postgres,postgresPassword=postgres,postgresDatabase=myapp stable/postgresql
- helm upgrade --install myapp-web ./myapp-chart --wait --set env.DATABASE_URL="${DATABASE_URL}"
它是我的登台/审核环境部署的一部分。完成上述命令后,我想对my-app
pod执行命令来创建/迁移数据库。目前,这是通过使用initContainer
(在引用的yaml文件中定义)实现的。但我更希望逻辑成为CI脚本的一部分 - 所以我不必为生产提供单独的部署文件。
有没有办法用helm
执行此操作?或者是我使用kubectl exec
的唯一选择?如果我使用kubectl exec
,是否可以使用helm
轻松获取广告连播的名称?
答案 0 :(得分:0)
此GitHub问题解决了如何使用kubectl
根据标签查找广告连播的名称的方法:
https://github.com/kubernetes/kubernetes/issues/8876
我实施了以下内容:
- export POD_NAME=`kubectl get pod -l "app=myapp-web-chart" -o jsonpath='{.items[0].metadata.name}'`
- kubectl exec $POD_NAME -- mix ecto.migrate
但是,如果有办法用helm