在 Ubuntu 上使用 Jenkins 时,“加密”通常有以下几种常见场景。下面按最常见需求给你分别说明:
用于加密密码、Token、密钥,避免明文出现在任务中
(global)在 Pipeline 中使用:
withCredentials([usernamePassword(
credentialsId: 'my-cred',
usernameVariable: 'USER',
passwordVariable: 'PASS'
)]) {
sh 'curl -u $USER:$PASS http://example.com'
}
✅ 凭据不会以明文出现在日志中
Jenkins 本身不直接支持配置加密,但你可以:
export JENKINS_API_TOKEN=xxxx
在 Jenkins 中引用环境变量(不推荐明文写在脚本)
适合企业级:
vault 插件拉取Jenkins 管理员密码存储位置:
/var/lib/jenkins/users/admin/config.xml
密码是 PBKDF2 + salt 加密:
<passwordHash>#jbcrypt:$2a$10$...</passwordHash>
✅ 不需要手动加密
✅ 忘记密码可删除该文件重置
防止 Jenkins Web 被窃听
server {
listen 443 ssl;
server_name jenkins.example.com;
ssl_certificate /etc/ssl/certs/jenkins.crt;
ssl_certificate_key /etc/ssl/private/jenkins.key;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
Jenkins → Manage Jenkins → Configure Global Security
安装系统时选择:
Encrypt the new Ubuntu installation
或后期使用:
cryptsetup luksFormat /dev/sdX
--password=123456 启动命令| 需求 | 推荐方式 |
|---|---|
| 密码 / Token | Jenkins Credentials |
| 配置文件 | Vault |
| Web 安全 | HTTPS |
| 磁盘安全 | LUKS |
如果你能具体说一下:
我可以直接给你对应命令和配置示例。