文章目录

  • 背景
  • Credentials Binding 插件
  • 凭证类型
  • 账号密码方式拉取 Git 代码
  • SSH 密钥方式拉取 Gitee 代码

背景

在持续集成环境中,Jenkins 一般会和 Gitlab,Docker 等集成使用,和这些第三方应用交互需要密码,密钥,证书等凭证。

我们可以在 Jenkins 中安装用于管理凭证的插件,来管理这些需要密文保护的密码,例如 Gitlab 密码,Docker 私有仓库密码,证书等,这样可以方便 Jenkins 和这些第三方应用进行交互。

Credentials Binding 插件

Credentials Binding 插件允许将凭据绑定到环境变量,以便在各种构建步骤中使用。因为我安装 Jenkins 初始化时选择了安装推荐的插件,所以已经默认安装了此插件。

安装好插件,我们随便打开一个项目的配置,就可以在源码管理这里可以看到添加凭证的按钮了。

打开添加页面,如下所示:

凭证类型

支持添加5种类型的凭证,一般使用 Username with password 和 SSH Username with password 比较多。

  • Username with password:用户名和密码。
  • GitHub App:Github 相关。
  • SSH Username with password:SSH 账号和密钥,免密登录的方式。
  • Secret file:密钥文件。使用时 Jenkins 会将密钥文件复制到一个临时目录下,并且将文件路径赋值给一个变量,构建结束后,复制的文件会被删除。
  • Secret text:加密文本串,一般是 token 类型加密文本串,例如 Github 的 Api Token。
  • Certificate:证书文件形式。

账号密码方式拉取 Git 代码

首先需要在 Jenkins 上安装 Git 插件,然后在部署 Jenkins 的服务器上安装 Git 工具,因为我是使用 Docker 安装的 Jenkins,所以默认安装了 Git,如下所示:

[root@chenpihost ~]# docker exec -it 538de1b1b1f5 /bin/bash
bash-5.1$ git --version
git version 2.34.1

如果你的服务器上没有安装 Git,可以使用如下命令进行安装:

yum install -y git

Git 插件如下所示:

我们首先新建一个凭证,存储的是 Gitee 的账号和密码,如下所示:

保存好之后,我们就可以选择创建好的凭证,配置 Gitee 仓库项目地址,构建时就会自动拉取代码了。

SSH 密钥方式拉取 Gitee 代码

使用 SSH 密钥方式拉取 Gitee 上的代码,我们只需要在服务器上使用 root 用户生成公钥和私钥,将公钥配置到 Gitee 中,将私钥配置到 Jenkins 中。这样 Jenkins 就可以免密从 Gitee 上拉取代码了。

首先在 Jenkins 服务器上/root/.ssh目录下使用命令生成公钥和私钥,输入命令后一直按回车即可。

[root@chenpihost .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:kvpxSqKCNgi6gH0b3y5AsC/ZG17KeuD7lxKLatqB21w root@chenpihost
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|  .              |
|   o             |
|  . .  .         |
|   =  o S        |
|oo+ *...         |
|O.o*EOo..        |
|*Oo=OB+=         |
|O+O=oo+oo        |
+----[SHA256]-----+

生成的公钥和私钥文件如下:

[root@chenpihost .ssh]# ls -l
total 8
-rw-------. 1 root root 1675 Apr 24 23:45 id_rsa
-rw-r--r--. 1 root root  397 Apr 24 23:45 id_rsa.pub

然后登录 Gitee,通过点击头像中的设置选项,进入后台,配置刚才生成的公钥文件里面的内容。

在 Jenkins 中新建 SSH 凭证,我们刚才使用 root 用户来生成公钥私钥,所以用户名填 root,私钥填我们生成的私钥文件中的内容。

这样我们就可以在 Jenkins 中的项目配置 SSH 凭证了,注意这时需要使用项目的 SSH 地址了,如下所示:

最后,我们构建项目时,可以在控制台输出中看到使用刚才配置的 SSH 凭证了。


本次分享到此结束啦~~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,您的支持就是我创作最大的动力!

Jenkins 凭证管理相关推荐

  1. jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查

    CI持续集成流程 pipeline jenkins安装pipeline插件: 简单使用: 查看流水线语法: 片段生成器: 2.0以后推荐使用声明式语法:右侧下拉框是一些步骤,都可以自动生成 Decla ...

  2. Jenkins中安装Credentials Binding插件实现凭证管理与安装Git插件和拉取代码构建项目

    场景 CentOS中Jenkins的下载.安装.配置与启动(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11649 ...

  3. Jenkins凭证/凭据管理详解

    文章目录 一.Jenkins中的凭证 `凭证类型` `凭证范围` 系统 全局 用户 `凭证域` `凭证提供者` 系统凭证提供者 (Jenkins 凭证提供者,`常用`) 用户凭证提供者 文件夹凭证提供 ...

  4. Jenkins凭据管理之配置ssh私钥形式的凭据

    [原文链接]Jenkins凭据管理之配置ssh私钥形式的凭据 在下载代码的时候经常会需要使用ssh私钥,因此,在Jenkins上需要事先配置好ssh私钥的凭证 (1)点击[系统管理]-[管理凭据] ( ...

  5. 用XCA(X Certificate and key management)可视化程序管理SSL 证书(3)--创建自己定义的凭证管理中心(Certificate Authority)...

    在第"用XCA(X Certificate and key management)可视化程序管理SSL 证书(2)---创建证书请求"章节中,我们介绍了怎样用XCA创建SSL证书请 ...

  6. linux服务器管理公司用户,在Linux服务器Jenkins中管理用户和角色的方法

    下面将教你如何在Linux服务器Jenkins中管理用户和角色,它需要创建角色并分配给用户,你需要运行Jenkins服务器才能操作接下来的工作. 安装Jenkins参考文章 在Jenkins中管理用户 ...

  7. jenkins插件管理提示_jenkins插件管理及安装

    jenkins插件管理及安装 插件安装目录 [root@ubuntu1804 ~]#ls /var/lib/jenkins/plugins/ ace-editor momentjs ace-edito ...

  8. Tekton系列之实践篇-如何用Jenkins来管理Tekton

    微信公众号:运维开发故事,作者:乔克 在<Tekton系列之实践篇-由Jenkins改成Tekton>中,我们可以将Jenkinsfile改成Tekton Pipeline,但是Tekto ...

  9. win7计算机凭证,windows凭证管理,详解win7电脑添加和管理windows凭证的方法

    今天小编给大家详解win7电脑添加和管理windows凭证的方法,使用win7系统过程中,如果你频繁的登录某些服务器,如果每次都要输入用户和密码就会觉得比较麻烦,其实可通过以下的方法添加凭据,便可不需 ...

最新文章

  1. 利用人工智能众包数据,加速药物发现
  2. 聚焦:好手游难筛选的根本原因
  3. 宝山区佳力图服务器空调维修价格,成都佳力图空调维修师傅
  4. 【H.264/AVC视频编解码技术】第六章【指数哥伦布编码】
  5. h5打开麦克风权限录音_原来电脑上自带录音功能,很多人还不知道,真的太实用了...
  6. Effective Objective-C 2.0 — 第二条:类的头文件中尽量少引入其他头文件
  7. ACM 整数划分(四)
  8. VC中借助DirectDraw实现水波的模拟
  9. [Nginx] 事件模型
  10. 利用IE的滤镜解决IE6下PNG图片透明BUG
  11. PHP Yii开源框架入门学习(二)修改Yii网站访问路径
  12. 用最优控制视角看微分几何下的测地线
  13. 找不到工作?女生转行学IT到底靠不靠谱!
  14. 使用EasyExcel的模板导出复杂表头的Excel- 先单组数据填充,再多组数据填充
  15. TCP/IP协议栈Lwip的设计与实现:之三
  16. C语言标准库深度整理
  17. Dubbo(一):Dubbo 3.0
  18. 计算机网络之ip、子网掩码、网络号、主机号等概念解析
  19. 天哪,没有设计经验的ta,居然掌握着“PS大师级
  20. Java常用工具包 Jodd jar包

热门文章

  1. 矿产资源储量报告及评审中的若干问题
  2. java.util.concurrent 包源码分析之Fork/Join框架
  3. 轻松5招提高你的点击率!!!
  4. js获取手机屏幕分辨率和物理分辨率
  5. GoldenGate配置实例:RHEL 4.7下的Oracle 10g RAC到单实例的单向同步(一)
  6. 【HD 1869】六度分离
  7. 使用Java+OpenCV3制作,用于生成萌萌哒的GitHub默认头像
  8. 如何才能写出好的APP新闻报道及软文?
  9. Coral:让终端人工智能更加触手可及
  10. 线性回归、logistic回归、一般线性模型回归