Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置
查看原文
文章目录
- 基于 CentOS7 系统部署 Jenkins 环境
- 基于 Docker 安装部署 Jenkins环境
- 配置 Jenkins 中文模式
- 配置用户名密码形式的 Jenkins 凭据
- 配置 ssh 私钥形式的 Jenkins 凭据
- 配置 Jenkins 执行任务的节点
基于 CentOS7 系统部署 Jenkins 环境
(1)首先确保已经安装jdk,如未安装,请参考 Java----新手一步一步安装 Java 语言开发环境 先安装jdk环境
(2)配置Jenkins源
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
(3)安装Jenkins
yum install epel-release
yum install java-11-openjdk-devel
yum install jenkins
(4)配置Jenkins端口号
vi /etc/sysconfig/jenkins
如下,可自定义修改监听端口
#监听端口
JENKINS_PORT="10003"
(5)配置用户
vi /etc/sysconfig/jenkins
如下,将用户设置为 root
#修改配置
$JENKINS_USER="root"
(6)修改目录权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
(7)启动Jenkins
systemctl start jenkins
(8)网页打开Jenkins,如:在网页打开,如 http://192.168.1.210:10003/
如下,根据页面提示找到密码并填入
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
599ad742855948e0b8af280ad2e1f09f
(9)可以选择推荐的插件
(10)创建一个用户,如admin/admin
(11)如下,点击保存并完成安装
(12)至此,Jenkins搭建完成
基于 Docker 安装部署 Jenkins环境
(1)下载Jenkins镜像
docker pull jenkins/jenkins:lts
(2) 创建挂载目录
mkdir -p /docker/jenkins/var/jenkins_home
chmod 777 /docker/jenkins/var/jenkins_home
(3) 启动docker部署Jenkins
docker run -d -p 10002:8080 -p 10003:50000 -v /docker/jenkins/var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins:lts
(4) 配置镜像加速器
cd /docker/jenkins/var/jenkins_home/
vi hudson.model.UpdateCenter.xml
然后将url修改https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json ,内容如下:
<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url></site>
</sites>
(5) 浏览器打开 ip:10002
(6) 查看管理员密码
这里需要注意一下docker挂载目录
cat /docker/jenkins/var/jenkins_home/secrets/initialAdminPassword
(7) 选择插件安装
此时可以选择“选择插件安装”,这样便于后面了解各种插件的作用
此时可以先不选插件,插件可以后续按需安装
(8) 然后设置管理员账号和密码
(9) 然后选择默认的URL,安装完成后如下
配置 Jenkins 中文模式
(1) 安装locale和Localization: Chinese (Simplified)插件
在【Manage jenkins】-【Manage Plugins 】-【Available】中搜索Locale和Localization: Chinese (Simplified)插件,安装成功后重启jenkins
(2) 设置语言为中文
进入系统管理Manage Jenkins > Configure System,设置 Language为zh_cn,应用后刷新
配置用户名密码形式的 Jenkins 凭据
(1)打开Jenkins后,点击【系统管理】-【管理凭据】
(2)如下,点击【Jenkins】
(3)点击【全局凭据】
(4)点击【添加凭据】
(5)选择【Username with password】,然后填写用户名,比如demo,填写密码,注意,这里描述一定要填写,描述主要是方便后续使用或查看的时候知道这个用户名密码是做什么用的,比如这里填写“demo密钥测试用”,点击【确定】
(6)此时可以看到已经添加成功
配置 ssh 私钥形式的 Jenkins 凭据
在下载代码的时候经常会需要使用ssh私钥,因此,在Jenkins上需要事先配置好ssh私钥的凭证
(1)点击【系统管理】-【管理凭据】
(2)点击【Jenkins】
(3)点击【全局凭据】
(4)点击【添加凭据】
(5)选择【SSH Username with private key】,然后填写描述,主要用于后续辨别凭证的作用,然后填写用户名,这个一般是linux虚拟机上配置的用户,一般为邮箱名,然后选择 【Enter directly】
(6)到linux虚拟机上执行如下命令查看私钥
cat /root/.ssh/id_rsa
复制类似如下的私钥
(7)将私钥复制到步骤(5)中的key处,然后点击确定即可
配置 Jenkins 执行任务的节点
(1)在【Manage jenkins】-【Manage Plugins 】-【Available】中搜索SSH Agent和SSH Build Agents plugin插件,安装成功后重启jenkins
(2)配置 SSH Server:
Jenkins- 系统管理 - 全局安全配置, 把 SSH Server 设置为启用(默认是禁用)
(3)登录jenkins后,点击【系统管理】-【节点管理】
(4)点击【新建节点】
(5)填写节点名称,最好将ip或者计算机名填上,便于后期维护查看
(6)设置节点信息
1)设置工作目录,比如 /var/jenkins/workspace
2)启动方式选择 【Luanch agent via SSH】
3)凭据选择ssh登录此虚拟机的用户名密码,需要提前设置凭据
(7)继续接步骤4设置节点信息
1)Host key确认策略选择不确认
2)节点属性设置Git的路径
可通过在虚拟机上执行 which git 查看git的安装路径,如虚拟机尚未安装,则可参考 Git----学习Git第一步基于 Windows 10 系统和 CentOS7 系统安装 Git
3)设置 JAVA_HOME环境变量,可在虚拟机上通过 echo $JAVA_HOME 查看,如果虚拟机尚未安装jdk,则可参考 Java----新手一步一步安装 Java 语言开发环境
然后点击【保存】,完成节点信息的设置
(8)在虚拟机上为jenkins设置java链接文件
# 这里 /var/jenkins/workspace 为上述步骤设置的节点的工作目录
mkdir -p /var/jenkins/workspace/jdk/bin/
which java
# which java 命令的结果,/usr/local/jdk1.8.0_301/bin/java,然后创建软连接
ln -s /usr/local/jdk1.8.0_301/bin/java /var/jenkins/workspace/jdk/bin/java
(9)然后点击刚刚创建的节点
(10)点击【启动代理】
(11)如下图所示,表示节点已经增加成功,并且启动上线成功
至此,Jenkins 基本就搭建起来了。
相关文章:

Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置
查看原文 文章目录 基于 CentOS7 系统部署 Jenkins 环境基于 Docker 安装部署 Jenkins环境配置 Jenkins 中文模式配置用户名密码形式的 Jenkins 凭据配置 ssh 私钥形式的 Jenkins 凭据配置 Jenkins 执行任务的节点 基于 CentOS7 系统部署 Jenkins 环境 (1ÿ…...

flume系列之:监控flume agent channel的填充百分比
flume系列之:监控flume agent channel的填充百分比 一、监控效果二、获取flume agent三、飞书告警四、获取每个flume agent channel的填充百分比一、监控效果 二、获取flume agent def getKafkaFlumeAgent():# 腾讯云10.130.112.60zk = KazooClient(hosts...

信息安全和网络安全的区别
信息安全与网络安全都属于安全领域,但它们的范围和重点不同。 信息安全主要关注数据的保护,包括对敏感数据进行加密、防止数据丢失或泄露等措施。信息安全通常与数据存储、传输和处理相关。 而网络安全更侧重于保护计算机系统和网络免受攻击、病毒、蠕…...

【开源项目】WPF 扩展 -- 多画面视频渲染组件
目录 1、项目介绍 2、组件集成 2.1 下载地址 2.2 添加依赖 3、使用示例 3.1 启动动画 3.2 视频渲染 3.3 效果展示 4、项目地址 1、项目介绍 Com.Gitusme.Net.Extensiones.Wpf 是一款 Wpf 扩展组件。基于.Net Core 3.1 开发,当前是第一个发布版本 1.0.0&am…...

risc-v system instruction
ECALL ecall 指令以前叫做 scall,用于执行环境的变更,它会根据当前所处模式触发不同的执行环境切换异常, 用来执行需要更高权限才能执行的功能;简单来说,ecall 指令将权限提升到内核模式并将程序跳转到指定的地址。操作系统内核和应用程序其实…...

08 v-text指令
概述 v-text指令主要是用来渲染文本内容,和双大括号的效果基本一致,所以使用场景非常少。 一般情况下,我们都会使用双大括号语法去渲染文本内容,而不是使用v-text指令。 基本用法 我们创建src/components/Demo08.vueÿ…...
vite基本知识
vite的了解与使用 基本知识 开发时,并不对代码打包,而实直接采用ESM的方式运行项目一 项目部署时,再对项目进行打包 核心原理 其核心原理是利用浏览器现在已经支持ES6的import,碰见import就会发送一个HTTP请求去加载文件 使…...
考研真题c语言
【2016年山西大学考研真题】输入10个学生三门课的成绩,用函数实现:找出最高的分数所对应的学号和成绩。 1. 定义一个结构体 Student 来表示每个学生,包括学号和三门课的成绩。 c typedef struct { int studentID; int score1; i…...

neuq-acm预备队训练week 9 P8604 [蓝桥杯 2013 国 C] 危险系数
题目背景 抗日战争时期,冀中平原的地道战曾发挥重要作用。 题目限制 题目描述 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数 DF…...

【BIG_FG_CSDN】*VMware17pro*Linux*Redhit6网络管理(个人向——学习笔记)
物理机中的网络 查看物理网络的方法 “网络连接”—>单点选中网络的选项-->菜单栏中“查看此连接状态”-->“详细信息” “网络连接”中的VM网卡 在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别…...

Nginx location+Nginx rewrite(重写)(新版)
Nginx locationNginx rewrite(重写) Nginx locationNginx rewrite(重写)一、location1、常用的Nginx 正则表达式2、location的类型3、location 的匹配规则4、location 优先级5、location 示例说明5.1只修改网页路径5.2修改nginx配置文件和网页路径5.3一般前缀5.4正则匹配5.5前缀…...

uniapp实现地图电子围栏功能
该功能使用uniapp中内置组件map实现 效果图预览: 实现过程: 1.文档: 2.代码: <template><view><map :style"width: 100%; height:screenHeight" :latitude"latitude" :longitude"longit…...
LeetCode第376场周赛
文章目录 1.Find Missing and Repeated Values2.Divide Array Into Arrays With Max Difference3.Minimum Cost to Make Array Equalindromic 1.Find Missing and Repeated Values 直接暴力过 class Solution { public:vector<int> findMissingAndRepeatedValues(vecto…...

数据仓库与数据挖掘小结
更加详细的只找得到pdf版本 填空10分 判断并改错10分 计算8分 综合20分 客观题 填空10分 判断并改错10分--错的要改 mooc中的--尤其考试题 名词解释12分 4个,每个3分 经常碰到的专业术语 简答题40分 5个,每道8分 综合 画roc曲线 …...

ensp创建配置环境,实现全网互访
文章目录 创建配置环境,实现全网互访配置步骤接入层交换机(sw4、sw5)划分vlan汇聚层交换机(sw2、sw3)配置ip地址作为vlan网关、与sw1 ip地址直连核心层交换机(sw1)配置ip地址与汇聚层交换机&…...

智能优化算法应用:基于JAYA算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于JAYA算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于JAYA算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.JAYA算法4.实验参数设定5.算法结果6.参考文献7.MA…...

ripro后台登录后转圈和图标不显示的原因及解决方法
最近,好多小伙伴使用ripro主题的小伙伴们都发现,登录后台后,进入主题设置就转圈,等待老半天后好不容易显示页面了,却发现图标不显示了,都统一显示为方框。 这是因为后台的js、css这类静态资源托管用的是js…...
android 源码编译android 12
一、python安装 python2 sudo apt-get install python python3 sudo apt-get install python3 二、repo管理多个git repo因为Android源码由多个git组成,故安装repo利于管理git工程. repo安装步骤 a.第一步, 新建一个空白文件夹保存repo引导文件,并包含你的路径…...

CSS第二天导读
1,Emmet语法 Emmet语法的前身是Zen coding,它使用缩写,来提高html / css 的编写速度,Vscode内部已经集成该语法 1.1,快速生成HTML结构语法 1.想要快速生成多个相同标签,加上*就可以了,比如 d…...

scroll-behavior属性使用方法
定义和用法: scroll-behavior 属性规定当用户单击可滚动框中的链接时,是否平滑地(具动画效果)滚动位置,而不是直线跳转。 <style>element{/* 核心代码 */scroll-behavior: smooth;} </style> 属性值&am…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...