配置Jenkins的slave agent并使用它完成构建任务

上一章,使用单机配置并运行了一个简单的maven项目,并发布到了一个服务器上启动。这一章将要配置一个slave agent,并将上一章的job放到agent上执行。我们agent使用的是ssh的方式

前置步骤

准备两台虚拟机:

192.168.233.32(使用用户名+密码方式登录ssh)

192.168.233.34(使用私钥方式登录ssh)

两台虚拟机都安装并配置好Git、Java、Maven

两台虚拟机都创建好一个用户组jenkins、用户jenkins、用户对应的home 目录 /data/jenkins,并赋予home目录权限

sudo chown -R jenkins:jenksins /data/jenkins

1、安装ssh agent插件

2、配置服务器的Credentials(两种方式都可以)

2.1、使用的简单的账号+密码的方式(很简单,不需要额外配置)

 

 2.2、使用私钥的方式

2.2.1、在Master机器登录jenkins账户,并使用ssh-keygen生产秘钥对
sudo su jenkins -s /bin/bash  #切换到jenkins账户
cd ~ #进入jenkins账户的根目录
ssh-keygen -t rsa #生成秘钥对,一路回车即可

Master的jenkins账户是在我们安装Jenkins的时候就自动创建好的,不需要我们自己去创建,这个账号没有设置密码,不能直接使用 su jenkins登录。

2.2.2、将上一步骤中生成的公钥推送到agent服务器
ssh-copy-id jenkins@192.168.233.34 #指定登录agent使用的账户是我们自己创建的jenkins

第一步会生成一个秘钥对保存在 /var/lib/jenkins/.ssh,本步骤是将生成的公钥id_rsa.pub推到agent机器的jenkins账户的home目录下保存起来(/data/jenkins/.ssh/authorized_keys里)。

可以查看authorized_keys里包含了id_rsa.pub的内容。

2.2.3、配置对应的Credentials

在Private key中,将生成的私钥id_rsa的内容全部拷贝过来,包括“BEGIN OPENSSH PRIVATE KEY”、“END OPENSSH PRIVATE KEY” 这两行。保存就可以了。

3、添加agent node

 

Credentials选择2中配置的Credentials

一定要记得指定好java home和maven home,不然后期执行任务的时候会找不到

这里记得要在目标机器上创建对应的用户(jenkins)、用户组 (jenkins),并赋予这个用户工作目录权限(/data/jenkins)。

这里记录下创建完用户的各种问题:

a、没有权限

sudo chown jenkins:jenkins /data/jenkins/

b、登录的时候什么都没有

创建用户的时候指定的登录脚本有问题,指定了 /bin/sh,应该要 /bin/bash

点击保存就可以了。

4、build之前的job

build之前最好将Build-In Node的Executors设置为0,以免job运行到到Build-In Node上

已经导agent上去build了 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33595.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

svn commit 用法

转载   原文:https://blog.csdn.net/qq_39790633/article/details/103700391 使用svn进行代码的提交有两种方法:一种是通过TortoiseSVN客户端界面进行提交,另一种是通过svn commit指令提交。 方法一:通过TortoiseSVN客户端界面提…

STM32速成笔记—IWDG

文章目录 一、IWDG简介二、STM32的IWDG2.1 STM32的IWDG简介2.2 喂狗2.3 IWDG框图 三、IWDG配置步骤四、IWDG配置程序4.1 IWDG初始化程序4.2 喂狗 五、应用实例 一、IWDG简介 独立看门狗(Independent Watchdog, IWDG),什么是看门狗&#xff1…

NVIDIA-Linux-x86_64-535.54.03.run cuda_12.2.0_535.54.03_linux.run下载地址

Official Drivers | NVIDIA Linux x64 (AMD64/EM64T) Display Driver | 535.54.03 | Linux 64-bit | NVIDIA 下载连接 Download NVIDIA, GeForce, Quadro, and Tesla DriversDownload drivers for NVIDIA graphics cards, video cards, GPU accelerators, and for other GeFor…

魔兽世界私人服务器怎么开

开设魔兽世界的私人服务器涉及到一系列复杂的步骤和技术要求。下面是一个大致的指南,以供参考: 1. 硬件需求:首先,你需要一台强大的服务器来承载游戏服务器。服务器的规模和配置将取决于你计划同时容纳多少玩家以及服务器的性能要…

.vm文件发邮件时js未生效,无法控制显示隐藏

需求起因 最近在做一个发邮件的功能,是后端发邮件,不过邮件内容是由前端来写。 邮件内容包括姓名、手机号、邮箱,这三个参数都是不一定有的,如果没有某个参数时,那一行内容就不显示。 写法没错,但就是js…

Java——抽象类和接口

抽象类 抽象类 使用abstract关键字定义的类称为抽象类 public abstract class Employee {private String name;private int number; }在 Java中抽象类不可以实例化为对象。例如: 抽象方法 使用abstract关键字定义的方法称为抽象方法。抽象方法没有方法体 抽象…

使用影刀RPA拆分excel数据

首先,要使程序有一定的兼容性,即增加互动性,认为选择要拆分的文件和拆分的依据列,可以利用影刀中的‘打开选择对话框’和‘打开输入对话框’来实现,这样一来便不用考虑待拆分excel的路径问题获取1中选择的依据拆分列&a…

CSS实现多头像叠加ui效果

第一种实现方式 简单粗暴直接使用margin-right实现&#xff0c;缺点是第一行右侧最右边头像溢出容器&#xff0c;代码中的三行注释的代码放开后可解决这个问题。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

【ISO26262】汽车功能安全第一部分:术语

【tommi_wei@163.com】 故障响应时间 fault reaction time 从故障(2.42) 探测到进入安全状态(2.102) 的时间间隔。 故障容错时间间隔 fault tolerant time interval 在危害事件(2.59) 发生前, 系统(2.129) 中一个或多个故障(2.42) 可存在的时间间隔。 功能安全 functio…

如何调用百度地图API

前言 要调用百度地图API&#xff0c;步骤操作如下 注册并创建一个API密钥。您可以在百度地图API控制台上创建您的密钥。选择要使用的API服务。百度地图API提供了多种服务&#xff0c;包括地图展示、路线规划、地点搜索、实时交通等。您可以在百度地图API控制台上查看所有可用…

Uniapp uni-app学习与快速上手

个人开源uni-app开源项目地址&#xff1a;准备中 在线展示项目地址&#xff1a;准备中 什么是uni-app uni&#xff0c;读 you ni&#xff0c;是统一的意思。 Dcloud即数字天堂(北京)网络技术有限公司是W3C成员及HTML5中国产业联盟发起单位&#xff0c;致力于推进HTML5发展构…

亚马逊云科技“专库专用”模式,可有效提高数据库的性能和效率

近日&#xff0c;全球数据库市场发生了一件令人瞩目的事件&#xff0c;根据Gartner的数据&#xff0c;我们发现亚马逊云科技作为一个纯云厂商&#xff0c;夺得了2022年全球数据库领导者的桂冠&#xff0c;占据全球市场的25.3%份额。 云原生数据库的发展方向&#xff1a;与数据分…

Python技术自学的方式

Python是一种高级编程语言&#xff0c;被广泛用于软件开发、数据分析、人工智能和科学计算等领域。它于1991年由Guido van Rossum创建&#xff0c;并且其简洁、易读的语法以及丰富的标准库使得它成为了初学者和专业开发人员的首选语言之一。 一、Python技术介绍 学习Python技术…

JumpServer开源堡垒机页面配置

JumpServer开源堡垒机页面配置 一、登录二、功能模块2.1、控制台2.1.1、用户管理2.1.1.1、用户列表2.1.1.2、用户组 2.1.2、资产管理2.1.2.1、资产列表2.1.2.1.1、创建服务器链接2.1.2.1.2、创建数据库MySQL链接 2.1.2.2、网域列表2.1.2.3、平台列表2.1.2.4、标签列表 2.1.3、账…

项目中遇到的问题总结(四)

GateWay和Nginx的相同点和不同点在哪里&#xff1f; Gateway 和 Nginx 都是常见的反向代理服务器&#xff0c;它们的相同点和不同点如下&#xff1a; 相同点&#xff1a; 都可以作为反向代理服务器&#xff0c;接收来自客户端的请求并转发到后端服务器进行处理。 都支持负载均…

【Linux】基本指令——带你快速上手Linux

目录 一、重新认识操作系统1.1 操作系统是什么&#xff1f;1.2 为什么要有操作系统&#xff1f;1.3 我们在计算机上的所有操作1.4 Linux操作的特点 二、Linux基本指令2.1 mkdir指令&#xff08;重要&#xff09;2.2 rmdir指令2.3 rm指令&#xff08;重要&#xff09;2.4 touch指…

JavaScript数据存储方式

内置对象 js内部提供的对象&#xff0c;包含各种属性和方法给开发者调用 document.write() console.log() Math Math对象是js提供的一个 “数学”对象&#xff0c;提供了一系列做数学运算的方法 max找最大值Math.max(3,8,5,4) 返回8min找最小值Math.min(3,8,5,4) 返回4ab…

【软考网络管理员】2023年软考网管初级常见知识考点(15)-网络管理与存储

涉及知识点 网络管理功能&#xff0c;网络管理模型&#xff0c;SNMP协议原理与版本&#xff0c;数据备份&#xff0c;DAS/NAS/SAN技术 软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 文章目录 涉及知识点一、网络管理功能二、…

EasyFlash在GD32F303CC上面的移植

记录学习的过程&#xff0c;如果在GD32F303CC上面移植EasyFlash。关于EasyFlash的相关介绍和源码&#xff0c;请参考&#xff1a;https://gitee.com/Armink/EasyFlash 或者 https://github.com/armink/EasyFlash 主要记录移植过程中需要注意的点&#xff0c;移植还是比较简单的…

Spring 事务和事务传播机制

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录 Spring 中事务的实现Spring 编程式事务Spring 声明式事务Transactional 作⽤范围Transactional 参数说明Spring 事务隔离级别…