在 Jenkins 中,安全地管理敏感信息对于构建和部署过程至关重要。本实战指南将详细介绍如何添加凭据、使用 HashiCorp Vault 插件,并通过创建 Pipeline 脚本、在 shell 脚本中使用,以及在 Python 脚本中使用来管理敏感信息。
步骤 1: 添加凭据
- 登录 Jenkins 控制台。
- 在左侧导航栏选择 "Manage Jenkins"。
- 选择 "Manage Credentials"。
- 在 "Stores scoped to Jenkins" 下选择 "Jenkins"。
- 在 "System" 中,点击 "Global credentials (unrestricted)"。
- 点击 "Add Credentials"。
- 选择凭据类型,例如 "Secret text" 或 "Username with password"。
- 输入凭据信息,点击 "OK" 保存凭据。
步骤 2: 使用 HashiCorp Vault 插件
如果使用 HashiCorp Vault 来管理敏感信息,可以添加 HashiCorp Vault 插件:
- 在 Jenkins 控制台中选择 "Manage Jenkins"。
- 选择 "Manage Plugins"。
- 切换到 "Available" 选项卡,搜索并选择 "HashiCorp Vault" 插件进行安装。
- 安装完成后,重启 Jenkins。
步骤 3: 配置 HashiCorp Vault 插件
- 在 Jenkins 控制台中选择 "Manage Jenkins"。
- 选择 "Configure System"。
- 找到 "HashiCorp Vault" 部分,配置 Vault 服务器信息。
步骤 4: 创建 Pipeline 脚本
在 Jenkins Pipeline 中使用刚刚创建的凭据或从 HashiCorp Vault 中获取敏感信息。
pipeline {
agent any
environment {
MY_SECRET = credentials('my-secret-id')
}
stages {
stage('Example') {
steps {
script {
withCredentials([usernamePassword(credentialsId: 'my-secret-id', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
// 在这里使用凭据
echo "Username: $USERNAME"
echo "Password: $PASSWORD"
}
}
}
}
}
}
步骤 5: 在 shell 脚本中使用凭据
在 Jenkins Pipeline 中的 shell 脚本中安全地使用凭据。
pipeline {
agent any
environment {
MY_SECRET = credentials('my-secret-id')
}
stages {
stage('Example') {
steps {
script {
withCredentials([usernamePassword(credentialsId: 'my-secret-id', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
// 在 shell 脚本中使用凭据
sh 'echo $USERNAME'
sh 'echo $PASSWORD'
}
}
}
}
}
}
步骤 6: 在 Python 脚本中使用凭据
在 Jenkins Pipeline 中的 Python 脚本中安全地使用凭据。
pipeline {
agent any
environment {
MY_SECRET = credentials('my-secret-id')
}
stages {
stage('Example') {
steps {
script {
withCredentials([usernamePassword(credentialsId: 'my-secret-id', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
// 在 Python 脚本中使用凭据
sh 'python my_script.py $USERNAME $PASSWORD'
}
}
}
}
}
}
通过这个实战指南,你将学到如何在 Jenkins 中添加凭据、使用 HashiCorp Vault 插件,并通过 Pipeline 脚本、在 shell 脚本中使用,以及在 Python 脚本中使用来管理敏感信息。这些步骤将确保你的 Jenkins 构建过程中的信息安全性。
标签:指南,实战,脚本,凭据,HashiCorp,Vault,Jenkins,my From: https://blog.51cto.com/jiemei/9289790