必要性
Java を使用したインフラストラクチャに対する bvt テスト。残りのエンドポイントを持つシステムがいくつかあります。つまり、vmware、control m、ec2、kubernetes、oracle クラウド、gcp
前提条件
- シークレットは暗号化されていないファイル システムに決して触れません
- シークレットが暗号化されていないログにヒットすることはありません
設定:
- シェフサーバー
- ジェンキンス
- jenkinsfile ジョブ (グルーヴィー)
- サードパーティの API と通信して bvts を実行する Java パッケージ (カスタム)
- 異なるスプリント スケジュールの 2 つの別々のチーム
問題
シェフサーバーから秘密を復号化したジェンキンから秘密を渡す(つまり、VMwareクラスターへのコンソールクレデンシャル)。私は次のことを試しました:
mvn:dependency copy
、これは問題ありませんが、jar を呼び出すときにパスワードを渡す方法は?grapes grab
コードから直接呼び出します。ローカルで動作しますが、ジェンキンスは「グラブに適したクラスローダーが見つかりません」というエラーを出します。これを回避する方法は、そのコードを別のファイルに配置し、bash を使用して呼び出すことです。クレデンシャルの受け渡しに戻ります
聞く
- 推奨されるプロセスは何ですか?
コメントのロールアップ
- シェフまたはジェンキンスのセットアップを変更することはできません
解決した
- グラブ呼び出しを外部の groovy ファイルに移動し、sh パイプライン ステップで呼び出します。これは、ジェンキンスの依存関係が統合を壊していたために必要です。sh ステップを使用すると、新しい Java VM が取得されます