必要性
bvt 使用 java 对基础设施进行测试。我们有几个具有休息端点的系统。即vmware, control m, ec2, kubernetes, oracle cloud, gcp
先决条件
- 秘密永远不会触及未加密的文件系统
- 秘密永远不会命中未加密的日志
设置:
- 厨师服务员
- 詹金斯
- jenkinsfile 工作(常规)
- 与 3rd 方 api 对话并执行 bvts 的 java 包(自定义)
- 2 个不同 Sprint 时间表的独立团队
问题
从 jenkins 传递秘密,这些秘密从厨师服务器解密(即控制台凭据到 vmware 集群)。我尝试了以下方法:
mvn:dependency copy
,这很好,但是调用jar时如何传递密码?grapes grab
并直接从代码调用。在本地工作,但 jenkins 出现“找不到合适的类加载器以供抓取”的错误。解决这个问题的方法是将代码 ib 放到一个单独的文件中并使用 bash 来调用。我回到传递凭据
问
- 推荐的流程是什么?
评论汇总
- 我们无法修改厨师或詹金斯设置
解决了
- 将抓取调用移至外部 groovy 文件,使用 sh 管道步骤调用。这是必要的,因为 jenkins 依赖项破坏了我们的集成。使用 sh 步骤获得一个新的 java vm