配置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了 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欧科云链2023年报:毛利达1.55亿港元,数字资产业务成最大增长点

据香港商报报道,2023年6月28日,欧科云链控股有限公司(以下简称“欧科云链”)及其附属公司(股份代号:1499.HK,以下简称“集团”)发布了截至2023年3月31日的年度报告。报告期内&#x…

Redis【实战篇】---- Redis消息队列

Redis【实战篇】---- Redis消息队列 1. Redis消息队列 - 认识消息队列2. Redis消息队列 - 基于List实现消息队列3. Redis消息队列 - 基于PubSub的消息队列4. Redis消息队列 - 基于Stream的消息队列5. Redis消息队列 - 基于Stream的消息队列-消费组6. 基于Redis的Stream结构作为…

MAC OS X 这个“安装 macOS Xxx Xxx”应用程序副本已损坏,不能用来安装 macOS,超级终端修改日期date 已解决

原因:旧版 macOS 证书已经过期 解决方法:断开互联网,修改系统时间 date 102013142018.20 说明:10是月,20是日,13是时,14是分,2018是年,20是秒 输入上面的代码按回车后…

SpringBoot操作Excel实现导入和导出功能(详细讲解+Gitee源码)

前言:在日常的开发中,避免不了操作Excel,比如从系统当中导出一个报表,或者通过解析客户上传的Excel文件进行批量解析数据入库等等,本篇博客主要汇总日常开发中如何使用开源的Apache提供的POI流操作Excel进行导入导出功…

【035】C++泛型编程(模板)实践:设计数组类模板模仿vector容器

C泛型编程(模板)实践 引言一、类模板的概述二、实现数组类模板三、类模板的继承3.1、类模板派生出普通类3.2、类模板派生出类模板 总结 引言 💡 作者简介:专注于C/C高性能程序设计和开发,理论与代码实践结合&#xff0…

常州工学院单片机及应用系统设计2021-2022 学年第 二 学期 考试类型 开卷 课程编码 0302005

第一题 #include "SC95F861x_C.H" #include <INTRINS.H> unsigned char keydata0; void delay(unsigned int timer) //延时函数 { while(timer>0) timer--; } void IOinit() { P5CON0x00; P5PH0x03; P3CON0xFF; P3PH0xFF; } void readke…

回归预测 | MATLAB实现PSO-DNN粒子群算法优化深度神经网络的数据多输入单输出回归预测

回归预测 | MATLAB实现PSO-DNN粒子群算法优化深度神经网络的数据多输入单输出回归预测 目录 回归预测 | MATLAB实现PSO-DNN粒子群算法优化深度神经网络的数据多输入单输出回归预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 回归预测 | MATLAB实现PSO-DNN粒子…

【Java基础教程】(二)入门介绍篇 · 下:从JDK下载安装到第一个“Hello World!”程序,解析PATH和CLASSPATH环境变量的妙用~

Java基础教程之入门介绍 下 本节学习目标1️⃣ JDK安装与配置2️⃣ 第一个Java程序&#xff1a;“Hello World!”3️⃣ 环境变量 CLASSPATH&#x1f33e; 总结 本节学习目标 JDK 安装与配置&#xff1b;理解环境变量PATH和CLASSPATH的主要作用&#xff1b;运行第一个Java程序…

TypeScript 自定义装饰器

&#xff08;预测未来最好的方法就是把它创造出来——尼葛洛庞帝&#xff09; 装饰器 装饰器一种更现代的代码模式&#xff0c;通过使用的形式注入在属性&#xff0c;寄存器&#xff0c;方法&#xff0c;方法参数和类中&#xff0c;比如在Angular&#xff0c;Nestjs和midway等…

E类变换器仿真

1 参数计算&#xff08;待续&#xff09; &#xff08;1&#xff09;确定振荡频率&#xff1a; &#xff08;2&#xff09;计算各器件参数&#xff1b; 2 电路仿真 &#xff08;1&#xff09;电路图 &#xff08;2&#xff09;电路分析 3 结果 &#xff08;1&#xff09;…

微信小程序+SpringBoot接入后台服务,接口数据来自后端

前言 前两天开发了一个微信小程序项目&#xff0c;只不过接口数据是自己设置的假数据。然后我就想将这些假数据替换掉。这些数据来自接口&#xff0c;之前做过前后端分离的项目&#xff0c;我就想能不能直接调用那些后端数据接口。结果是可以的。以下是自己编写的部分方法 步骤…

【IDE 小程序】小程序控制台 不打印 console.log问题

小程序控制台 不打印 console.log问题 全局搜索compress.drop_console&#xff08;一般在config文件中&#xff09;&#xff0c;设置为false&#xff0c;再重新打开小程序即可