参考
 https://infisical.com/docs/integrations/cicd/jenkins#jenkins-plugin Jenkins参考
 https://plugins.jenkins.io/infisical/ 前提条件

  • 安装配置infisical
  • 设置了项目和密钥
  1. Infisical创建身份认证
  2. 创建身份
  3. Access Control->Machine Identities -> Create identify
  4. Infisical怎么在Jenkins内调用_App


  5. Infisical怎么在Jenkins内调用_Jenkins_02


  6. 生成密钥
  7. Infisical怎么在Jenkins内调用_Access_03


  8. 创建客户端密钥
  9. Infisical怎么在Jenkins内调用_Access_04


  10. Infisical怎么在Jenkins内调用_App_05


  11. 生成密钥
  12. 只有在生成时显示,生成以后编辑无法显示,需要重新生成
  13. Infisical怎么在Jenkins内调用_Jenkins_06


  14. 在项目内绑定身份认证信息
  15. 项目名称本次为Demo App Access Control->Machine Identities -> Add identify
  16. Infisical怎么在Jenkins内调用_Jenkins_07


  17. Infisical怎么在Jenkins内调用_Access_08

  18. Jenkins安装infisical插件
  19. Jenkins安装插件
  20. Dashboard -> Manage Jenkins -> Credentials -> System -> Global credentials
  21. Infisical怎么在Jenkins内调用_Jenkins_09


  22. 搜索Infisical插件并安装
  23. Infisical怎么在Jenkins内调用_Access_10

  24. Jenkins创建认证
  25. Dashboard -> Manage Jenkins -> Credentials
  26. Infisical怎么在Jenkins内调用_App_11


  27. 点击以下位置插件认证
  28. Infisical怎么在Jenkins内调用_Jenkins_12


  29. Infisical怎么在Jenkins内调用_App_13


  30. Infisical怎么在Jenkins内调用_Access_14

  31. Jenkins任务使用infisical
  32. Jenkins新建一个任务
  33. Infisical怎么在Jenkins内调用_App_15


  34. 配置infisical
  35. 需要提供四个信息
  36. Infisical怎么在Jenkins内调用_Jenkins_16


  37. Slug信息在以下位置找到
  38. Infisical怎么在Jenkins内调用_Jenkins_17


  39. 添加需要获取的密钥的key值
  40. Infisical怎么在Jenkins内调用_Jenkins_18


  41. 添加构建步骤输出刚刚设置下key值
  42. Infisical怎么在Jenkins内调用_App_19


  43. 控制台输出key的值为*
  44. Infisical怎么在Jenkins内调用_App_20


  45. 需要显示真实的值则下载一段代码设置重定向至代码的某个文件
  46. 设置拉取Git代码
  47. Infisical怎么在Jenkins内调用_Jenkins_21


  48. 修改构建步骤把刚刚设置的变量值重定向至代码根目录一个文件
  49. Infisical怎么在Jenkins内调用_Jenkins_22


  50. 再次支持构建然后到Jenkins服务器去查看该文件的内容
  51. 显示的是明文内容了
# cat /var/lib/jenkins/workspace/Demo\ App/infisical 
BAR
  • 1.
  • 2.
  1. Jenkins流水线使用infisical
    创建一个流水线任务

    配置流水线

    在流水线添加以下代码
node {
    withInfisical(
        configuration: [
            infisicalCredentialId: 'DemoAPP',
            infisicalEnvironmentSlug: 'dev', 
            infisicalProjectSlug: 'demo-app-u-e6u', 
            infisicalUrl: 'https://app.infisical.com' // Change this to your Infisical instance URL if you aren't using Infisical Cloud.
        ], 
        infisicalSecrets: [
            infisicalSecret(
                includeImports: true, 
                path: '/', 
                secretValues: [
                    [infisicalKey: 'FOO'],
                    [infisicalKey: 'FOO2'],
                    [infisicalKey: 'NAME'],
                    [infisicalKey: 'AGE']
                ]
            )
        ]
    ) {
        // Code runs here
        sh "printenv"
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

需要配置Jenkins密钥ID

注意:该ID严格区分大小写

Slug信息和上面配置的一样的

同理对应的key的值在控制台输出也是*

Infisical怎么在Jenkins内调用_Jenkins_23