【Jenkins系列教程】流水线通过SSH方式操作Git仓库

摘要:
默认情况下,ssh keygen-o将在用户目录中生成。ssh,其中id_Rsa是私钥,known_Hosts是访问的服务器的公钥GitLab设置访问ssh密钥一张图片赢得很多单词Jenkins设置凭据单击凭据->在Jenkins主页上;对于全局凭据,请单击添加凭据以添加密钥。Kind选择具有私钥ID的SSH用户名作为后续管道脚本中引用的值。

主旨

实践 Jenkins 流水线使用SSH方式操作 Git 仓库,包含基于 SSH 私钥认证的服务器

准备

需要提前安装 SSH Agent Plugin,可以通过 Manage Jenkins-> Manage Plugins-> Installed 使用 filter 搜索查看是否安装,如没有则通过 Available处搜索安装

使用

本地生成ssh key或使用已有

生成ssh key,默认会生成在用户目录下 .ssh 中

ssh-keygen -o

【Jenkins系列教程】流水线通过SSH方式操作Git仓库第1张

其中,id_rsa是私钥,id_rsa.pub是公钥,known_hosts是访问过的服务器公钥

GitLab设置访问SSH key

一图胜多言
【Jenkins系列教程】流水线通过SSH方式操作Git仓库第2张

Jenkins设置凭据

在Jenkins主页面依次点击 凭据-> 系统-> 全局凭据
【Jenkins系列教程】流水线通过SSH方式操作Git仓库第3张

点击 Add Credentials 添加密钥

【Jenkins系列教程】流水线通过SSH方式操作Git仓库第4张

  • Kind选 SSH Username with private key
  • ID 为后续在流水线脚本中引用的值,举例是 hellxz-ssh-key
  • Private Key点击Enter directly-> Add,在出现的输入框中粘贴你的私钥 id_rsa 中的值
  • 最后点 OK,添加密钥

流水线脚本中使用密钥

pipeline {
    agent any
    stages{
        stage('clone private repo') {
            steps{
	        sshagent (credentials: ["hellxz-test-ssh"]) {
		      sh 'git clone ssh://xxxxx/config.git' //这里以一个私服仓库config举例,就不贴地址了
		}
            }
        }
    }
}

测试结果

【Jenkins系列教程】流水线通过SSH方式操作Git仓库第5张

免责声明:文章转载自《【Jenkins系列教程】流水线通过SSH方式操作Git仓库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇每个程序员都应该了解的内存知识js 对小数进行格式化(保留小数,去除小数后的0)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Delphi启动过程追踪

第一步: _InitExe windows调用Exe的入口 _StartExe InitUnits 第二步: InitControls的initialization部分 TApplication.Create AllocateHWnd AllocateHWnd MakeObjectInstance StdWndProc Instance^.FMethod...

HTTP服务&AJAX编程

即 Asynchronous Javascript And XML,AJAX 不是一门的新的语言,而是对现有持术的综合利用。 本质是在HTTP协议的基础上以异步的方式与服务器进行通信。 传统方式我们是以表单形式与服务器通信的。 1.1   异步 指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步。 其优势...

linux下git push出现“更新被拒绝,因为远程仓库包含您本地尚不存在的提交。”问题的处理

一、现象: (base) [root@DL xbiquge]# git push -u origin masterTo https://github.com/sfccl/xbiquge.git! [rejected] master -> master (fetch first)error: 无法推送一些引用到 'https://sfccl:密码@gi...

MarkDownPad2基本语法

一、换行和空格  (1)换行   行尾加两个空格   (2)空格       二、标题  在#后跟个空格再写文字,一个#是一级标题,两个#是二级标题,以此类推,支持六级标题。   示例: # 一级标题 ## 二级标题 ### 三级标题 显示效果:   三、字体  (1)加粗   要加粗的文字左右分别用两个*号包起来。 示例:   **这是...

centos7配置国内yum源

文章目录 1、什么是yum仓库? 2、yum仓库配置 2.1、阿里镜像仓库配置 2.1.1、配置步骤 2.1.2、epel源 安装和配置 2.1.3、查看yum源 2.2、配置 清华大学镜像仓库 1、什么是yum仓库? yum仓库就是使用yum命令下载软件的镜像地址。 我们通常使用 yum install 命令来在线安装 linu...

maven入门基础:仓库概念和仓库分类(一)

一. 仓库概念 1. 构件:指的是任何的依赖、插件、项目输出的jar包,都称之为构件 2. 仓库:Maven构件在统一的地方存储,然后供任何Maven项目使用 3. 仓库根据构件的唯一坐标(/groupId/artifactId/version/artifactID-version.packaging)确定唯一的存放地址,这就是仓库的布局 4. 坐标内容包...