工作中,从git仓库拉取代码有2种方式:交互式和非交互式

什么是交互式?就是拉取需要权限才能访问的代码时,需要输入密码

免交互式呢? 是通过密钥,私钥的方式,让服务端信任客户端,产生信任后,任何一次客户端向服务端发起的请求时,不需要密码,而是直接进行读写等操作。

在持续集成中,jenkins需要去git代码仓库拉取代码,在这个过程中不方便交互式的输入代码,所以采用免交互式会比较方便。

密钥私钥的生成和使用:

在客户机linux机器上 ssh-keygen 一路回车

[root@ ~]# ssh-keygen
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:llzcheb6UtbggaOnU6FTjssrLTIM5CQ5FjsnBq2zo5I root@192.168.1.40
The key's randomart image is:
+---[RSA ]----+
| . .. |
|... . .o. |
|.oo o+. |
|**o. . o= + |
|oO+ S* = + |
|o o .= = + . |
|.o o o * + |
|E + o * . . |
|. o o.o . |
+----[SHA256]-----+
[root@ ~]# ls .ssh/
id_rsa id_rsa.pub known_hosts

#通过ssh-copy-id命令将/root/.ssh/id_rsa.pub公钥copy到192.168.1.30git源码管理服务器上

[root@192 ~]# ssh-copy-id git@192.168.1.30
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
git@192.168.1.30's password:


Number of key(s) added: 1


Now try logging into the machine, with: "ssh 'git@192.168.1.30'"
and check to make sure that only the key(s) you wanted were added.

 

到192.168.1.30git源码管理服务器上,查看id_rsa.pub存放到了哪里

[root@ ~]# su - git
[git@ ~]$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPW1GD64WQr/1WdklohJrS35i3MS7Om2m9vXlDW/ZuvuucYiSzEiI9Thr3ooPBlavLRofh/oS3xzu+jHydm9hY20IV73Kmua3BWw3eMLUT6PXs2fvpGpspx9doVmJZ6B4IGN/4VYoFUPTYpy+WxxcqkxPeMQrZ5mcemzlUkB6GcSmNEI2U0lP4z7h+H0i+JvoVd7CF7FCAiYLxsBxLFdQnJxdfvybaQ+qt6bvShqg8Ijus4rveqFSO7NRamGX4KZmvIdgVQ1uMLT5PYuC2u6F+hLhCLg7XoqzqxGtl+4kIgGedQzxxsHzxa1D7x1Hx7SsTlb9xJKJRVE89P0/KOtnf root@192.168.1.40

将客户端(jenkins)服务器的私钥配置到jenkins管理界面里,

git代码仓库拉代码的pipeline脚本产生方法

下图是上图步骤3里,点开后的配置

下图是ssh-keygen产生的私钥 .ssh/id_rsa

到此,步骤5里,就产生了pipeline脚本,免交互方式让jenkins服务器拉取git代码仓库里的代码

作者: 梅梅~

出处: https://www.cnblogs.com/keeptesting

关于作者:专注软件测试,测试运维相关工作,请多多赐教!

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 欢迎沟通交流加微信联系。 微信:yangguangkg20140901 暗号:博客园.

最新文章

  1. SD卡的监听
  2. 【代码笔记】iOS-时间选择框
  3. 在数学建模中学MATLAB
  4. thinkphp 对数据库的操作
  5. System V消息队列
  6. JavaScript高级程序设计25.pdf
  7. Javac编译和JIT编译
  8. python_如何使用生成器实现可迭代对象?
  9. java集合详解
  10. 微信小程序--录音
  11. canvas画布如何画图案例
  12. pytorch学习-AUTOGRAD: AUTOMATIC DIFFERENTIATION自动微分
  13. Available Captures for Rook LT999
  14. Ubuntu 之 atom 安装以及 常用配置
  15. qt调用sql server存储过程并获取output参数
  16. CentOS6.4下安装Chrome
  17. 是否缺少对 Microsoft.CSharp.dll 和 System.Core.dll 的引用?
  18. 向Ubuntu的Dash中添加图标
  19. Python(二)列表的增删改查
  20. cxf之java.lang.NoSuchMethodError: org.springframework.aop.support.AopUtils.isCglibProxyClass(Ljava/lang/C

热门文章

  1. java多线程 生产者和消费者 lock
  2. Redis的知识点总结~Linux系统操作~
  3. 排错:Windows系统异常导致Filebeat无法正常运行
  4. Windows Server 2016-Powershell之客户端加域
  5. 微信小程序去除Button默认样式
  6. 知乎专栏开放性api
  7. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字
  8. 1.5准备CentOS和Nginx环境「深入浅出ASP.NET Core系列」
  9. JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
  10. ADO.NET学习(一)