2017-06-06 7 views
1

は、私は私のgitlab-ci.ymlスクリプトで次helm(2.4.2)のコマンドを使用します。`helm exec`のようなものがありますか?

- 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ポッドに対してコマンドを実行して、データベースを作成/移行します。現時点では、これはinitContainer(参照されているyamlファイルで定義されています)を使用して実現されています。しかし、私はロジックがCIスクリプトの一部であることを望んでいます。そのため、本番用に別々のデプロイメントファイルを用意する必要はありません。

helmでこれを行う方法はありますか?または、kubectl execを使用する唯一の選択肢ですか? kubectl execを使用している場合は、helmを使用してポッドの名前を簡単に取得できますか?

答えて

0

ラベルに基づいて、ポッドの名前を見つけるためにkubectlを使用する方法このGitHubの発行アドレス:

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

関連する問題