0

HashiCorp Vaultのシークレットから環境変数を取得するために最近作成した jenkins プラグインがあります。

ほとんどの場合、設定されている環境変数をシェル コマンドが認識することを期待する場合を除いて、すべてが期待どおりに機能します。SimpleBuildWrapperクラスのオーバーライドされたsetUpメソッドで環境変数を設定しています。

これは、環境変数の設定方法に関連するスニペットです。

for (VaultSecretValue value : vaultSecret.getSecretValues()) {
  context.env(value.getEnvVar(), values.get(value.getVaultKey()));
}

環境変数をエコーするビルドステップを追加すると、期待される出力が返されますが、変数が設定されていることを期待するビルドステップで外部コマンドを使用すると、AWS cli のような問題があるように見えます。

aws --region us-east-1 ec2 describe-instances

同じ環境変数の値を取得してローカル端末にエクスポートすると、上記のコマンドの結果が期待どおりになります。

私の質問は、を拡張するときにSimpleBuildWrapper、環境変数が後続の各シェルコマンドに確実にエクスポートされるようにするために欠落しているステップはありますか?

もっと情報を提供できるかどうか教えてください。

アップデート

の出力を確認し/usr/bin/env、環境変数が設定されていることを確認しました。問題になる可能性があるのは、それ自体への呼び出しをどのように実装しているかvaultの問題かもしれません。それに応じて、回答またはより関連性の高い情報でこの質問を更新します。

4

1 に答える 1

2
于 2016-08-08T20:23:33.943 に答える