Jenkins 基础07 凭据管理
2023-09-14 09:01:47 时间
Jenkins凭据管理
Jenkins的凭据有很多种类型,可以将一些敏感信息存储为凭据,然后在项目中引用。 凭据-> 系统-> 全局凭据。
Jenkins凭据管理,在流水线部署过程当中是非常实用的,比如将一些用户账号,如gitlab管理员的一个账号等存在这里,流水线就可以去使用,凭据的作用就是存放这些账号。
Jenkins的每个凭据会有一个唯一的ID,这个ID很重要,可以自定义也可以随机生成。(后续流水线中引用都是通过ID引用的)
Jenkins的凭据有很多种类型,可以将一些敏感信息存储为凭据,然后在项目中引用。 凭据-> 系统-> 全局凭据 Token和用户名密码方式足够使用了
Username with password
类型存储Harbor或者其他系统的用户名和密码。GitLab API token
类型存储Gitlab的用户API token。Secret text
类型可以用来存储OpenShift等系统中的token。Certificate
类型可以用户存储证书,例如k8s的用户证书。
有用户名密码类型凭据和证书类型凭据,用户名密码是存比如gitlab用户名密码
ID让其自动生成
这样一个凭据就创建好了
Started by user admin
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/java-test
[java-test] $ /bin/sh -xe /tmp/jenkins5884252035043282157.sh
+ echo 'gitadmin value is f50b77b0-149d-42fa-b096-0db46e80a84a'
gitadmin value is f50b77b0-149d-42fa-b096-0db46e80a84a
Finished: SUCCESS
可以看到这里传进去的是凭据的ID
secret类型的凭据 这里存放API token
这里存放token
使用凭据
我们可以在项目中增加一个凭据参数,用与项目构建中使用,当我们使用pipeline类型的项目的时候,我们可以通过片段生成器
生成流水线语法
此处注意:需要提前安装插件 Credentials Binding Plugin。
- 选择要使用的凭据的类型
-
输入该凭据的账号的密码的变量名称(后续直接在流水线中使用此变量进行引用)
-
流水线代码
withCredentials([usernamePassword(credentialsId: '24982560-17fc-4589-819b-bc5bea89da77', passwordVariable: 'password', usernameVariable: 'username')]) { // some block sh "curl -u ${username}:${password} xxxxxxxxx" }
pipeline { agent any stages { stage('Hello') { steps { withCredentials([usernamePassword(credentialsId: 'c4d406ea-36de-473d-aa45-068975837137', passwordVariable: 'password', usernameVariable: 'username')]) { echo "{$password}" } } } } }
相关文章
- Jenkins - 初识
- Jenkins 基础 04 用户管理
- Jenkins 传统网站更新和CI/CD概念
- Jenkins 平台部署发布你的maven项目
- jenkins pipline 几个注意细节
- 【大话QT之十七】Jenkins介绍及安装使用文档(与Git集成)
- 技术分享 | Jenkins 如何参数化job ?
- 技术分享 | Jenkins job 机制该如何使用?
- Jenkins入门之新建任务
- 云原生DevOps篇:Jenkins Pipeline流水线语法基础与进阶
- Jenkins配置简单构建邮件推送
- Jenkins插件之显示构建时间
- jenkins 自动化 —— 筑梦之路
- Jenkins 常用插件及用法