当前位置: 首页 > news >正文

自动化部署-01-jenkins安装

文章目录

  • 前言
  • 一、下载安装
  • 二、启动
  • 三、问题
    • 3.1 jdk版本问题
    • 3.2 端口冲突
    • 3.3 库文件加载问题
    • 3.4 系统字体配置问题
  • 四、再次启动
  • 五、配置jenkins
    • 5.1 解锁
    • 5.2 安装插件
    • 5.3 创建管理员用户
    • 5.4 实例配置
    • 5.5 开始使用
    • 5.6 完成
  • 总结


前言

spingcloud微服务等每次部署到服务器上,都需要本地编译打包,然后将打好的包上传到服务器再启动。这样比较麻烦。我们可以使用自动化部署,自动在服务器上部署新代码。
jenkins部署版本是:2.462.3
我是使用的部署skywalking的虚拟机10.211.55.120,已经装好了open-jdk-21.0.2,但这个jdk版本安装jenkins有点问题。


一、下载安装

参考文档:
https://www.jenkins.io/doc/book/installing/linux/
https://pkg.jenkins.io/redhat-stable/

我的虚拟机是CentOS系统,所以执行:

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-2023.key
#安装
yum install jenkins

以下是详情

[root@localhost config]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2024-10-24 16:58:31--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
Resolving pkg.jenkins.io (pkg.jenkins.io)... 151.101.194.133, 151.101.66.133, 151.101.130.133, ...
Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.194.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 85
Saving to: ‘/etc/yum.repos.d/jenkins.repo’/etc/yum.repos.d/jenkins.repo                 100%[==============================================================================================>]      85  --.-KB/s    in 0s      2024-10-24 16:58:33 (200 KB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85][root@localhost config]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
[root@localhost config]# yum install jenkins
Jenkins-stable                                                                                                                                       8.0 kB/s |  29 kB     00:03    
Dependencies resolved.
=====================================================================================================================================================================================Package                                   Architecture                             Version                                          Repository                                 Size
=====================================================================================================================================================================================
Installing:jenkins                                   noarch                                   2.462.3-1.1                                      jenkins                                    89 MTransaction Summary
=====================================================================================================================================================================================
Install  1 PackageTotal download size: 89 M
Installed size: 89 M
Is this ok [y/N]: y
Downloading Packages:
jenkins-2.462.3-1.1.noarch.rpm                                                                                                                       4.6 MB/s |  89 MB     00:19    
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                4.6 MB/s |  89 MB     00:19     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing        :                                                                                                                                                             1/1 Running scriptlet: jenkins-2.462.3-1.1.noarch                                                                                                                                  1/1 Installing       : jenkins-2.462.3-1.1.noarch                                                                                                                                  1/1 Running scriptlet: jenkins-2.462.3-1.1.noarch                                                                                                                                  1/1 Verifying        : jenkins-2.462.3-1.1.noarch                                                                                                                                  1/1 Installed:jenkins-2.462.3-1.1.noarch                                                                                                                                                         Complete!

二、启动

执行:

sudo systemctl daemon-reload
sudo systemctl start jenkins

按照官方文档此时应该可以启动成功。

三、问题

3.1 jdk版本问题

在这里插入图片描述
解决:
1.下载jdk17版本,比如解压到/opt/java17目录。
2.修改jenkins启动脚本:

vim /usr/lib/systemd/system/jenkins.service

修改Java home directory
在这里插入图片描述

3.2 端口冲突

因为skywalking的端口也是8080,所以修改jenkins的启动端口。
解决:
1.修改jenkins启动脚本:

vim /usr/lib/systemd/system/jenkins.service

修改JENKINS_PORT
在这里插入图片描述

3.3 库文件加载问题

在这里插入图片描述

执行

#通过包管理工具(根据系统使用不同的命令)来安装 libfreetype6 依赖库
sudo yum install freetype
#安装完成后,验证 libfreetype 是否正确安装
ldd /opt/java17/lib/libfontmanager.so | grep freetype#如果出现
ldd: warning: you do not have execution permission for `/opt/java17/lib/libfontmanager.so'libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007fd778362000)#再执行
sudo chmod +x /opt/java17/lib/libfontmanager.so
#是否还存在权限警告
ldd /opt/java17/lib/libfontmanager.so | grep freetype

3.4 系统字体配置问题

在这里插入图片描述

解决:

#安装必要的字体:Java应用程序通常依赖于fontconfig中的字体来正确渲染图形组件。在Linux系统中,可以通过以下命令安装一些基础字体
sudo yum install fontconfig dejavu-sans-fonts
#重新生成字体缓存:安装字体后,建议重新生成字体缓存,以确保更改生效
sudo fc-cache -fv
#确保Jenkins可以访问字体:确保Jenkins进程有访问字体和相关配置文件的权限。你可以通过以下命令查看是否能够列出系统中的字体
fc-list

四、再次启动

systemctl start jenkins

如果出现
在这里插入图片描述
就执行:

journalctl -xeu jenkins.service

在这里插入图片描述
发现日志正常,没有错误。
注意其中的密码

Oct 25 08:52:09 localhost.localdomain jenkins[61917]: Jenkins initial setup is required. An admin user has been created and a password generated.
Oct 25 08:52:09 localhost.localdomain jenkins[61917]: Please use the following password to proceed to installation:
Oct 25 08:52:09 localhost.localdomain jenkins[61917]: dc63794d88ba4141bd7b5ee928bca97b
Oct 25 08:52:09 localhost.localdomain jenkins[61917]: This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword

再执行:

systemctl status jenkins

在这里插入图片描述
发现启动成功。

五、配置jenkins

浏览器打开:http://10.211.55.120:8089

5.1 解锁

在这里插入图片描述
输入上面日志中的密码后

5.2 安装插件

在这里插入图片描述
建议选择插件来安装,因为安装插件超慢,不如项目先启动起来后,通过别的方法下载安装插件。

5.3 创建管理员用户

在这里插入图片描述

5.4 实例配置

在这里插入图片描述

5.5 开始使用

在这里插入图片描述

5.6 完成

在这里插入图片描述


总结

后续使用jenkins实现自动化。

相关文章:

自动化部署-01-jenkins安装

文章目录 前言一、下载安装二、启动三、问题3.1 jdk版本问题3.2 端口冲突3.3 库文件加载问题3.4 系统字体配置问题 四、再次启动五、配置jenkins5.1 解锁5.2 安装插件5.3 创建管理员用户5.4 实例配置5.5 开始使用5.6 完成 总结 前言 spingcloud微服务等每次部署到服务器上&…...

AI工具大爆发,建议每个都使用收藏

2024年被誉为AI应用元年,这一年人们普遍意识到,未来占据主导地位的将是基于大模型的应用程序,而不仅仅是大模型本身。因此,在这一趋势的推动下,各式各样的AI应用如雨后春笋般涌现出来。 今天就聊聊这些好用的AI工具&a…...

Mybatis之参数处理

在MyBatis中,参数处理是非常关键的部分,它负责将传入的参数正确映射到SQL语句中 单个简单类型参数 简单类型对于mybatis来说都是可以自动类型识别的: 也就是说对于mybatis来说,它是可以自动推断出ps.setXxxx()方法的。ps.setSt…...

windows内核探索--打印windows的GDT表(全局描述符表)

x86 #include <windows.h> #include<stdio.h> #include "x86struct.h" void PrintSegmentDescriptor(ULONG64* sd, WORD Count); SegmentSelector GetSegmentSelector(USHORT Selector); int main() {printf("0环cs段寄存器 ");GetSegmentSel…...

【ChatGPT】让ChatGPT帮助进行头脑风暴与创意生成

让ChatGPT帮助进行头脑风暴与创意生成 在日常工作和生活中&#xff0c;创意和头脑风暴是解决问题、创新和推动项目的关键步骤。ChatGPT&#xff0c;作为一个强大的语言模型&#xff0c;不仅可以提供信息和答案&#xff0c;还可以成为强大的头脑风暴工具&#xff0c;帮助用户快…...

大数据处理随堂测试

HDFS MapReduce HBase Spark...

2024最新pycharm安装教程及基本使用(超详细,新手小白必看)

文章目录 前言一、官网下载二、安装步骤三、使用示范四、番外篇&#xff08;汉&#xff09;大纲 PythonPyCharm安装包领取方式戳‘这块里’ 前言 一、官网下载 1. 进入pycharm官网&#xff0c;点击下载 PyCharm: The Python IDE for data science and web development by J…...

三国杀钓鱼自动化

三国杀钓鱼脚本 前言 本来是想做必杀的&#xff0c;但是后来测试了大约400钓发现纯靠连点没有漏掉的鱼&#xff0c;所以必杀功能就舍弃了。 我pyinstaller打包后运行.exe居然黑屏了&#xff1f;&#xff1f;&#xff1f;可能是多进程报错处理没写好&#xff0c;反正还是用vsc…...

在pycharm中使用sqllite

在pycharm中使用sqllite sqllite 简介 SQLite 是一个开源的、轻量级的、关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它设计用于嵌入到应用程序中&#xff0c;并且可以在无需外部服务器进程的情况下运行。SQLite 提供了完整的 SQL 语言支持&#xff0c;允…...

Linux——文件操作

前言 1&#xff09;在Linux下面&#xff0c;一切皆文件&#xff0c;文件文件内容文件属性 2&#xff09;在访问文件是&#xff0c;都得先将文件打开&#xff0c;修改文件的本质其实还是通过执行代码的形式修改。 3&#xff09;文件是被进程打开的&#xff0c;一个进程可以打…...

数据结构 ——— 数组栈oj题:有效括号

目录 题目要求 代码实现 题目要求 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每…...

Character AI被起诉!14岁青少年自杀,AI陪伴何去何从

终于&#xff0c;AI在青少年心理问题方面&#xff0c;被推上了风口浪尖。 最近&#xff0c;美国佛罗里达州&#xff0c;一名14岁男孩Sewell Setzer的父母控告Character AI公司&#xff0c;声称孩子沉迷该公司的AI聊天机器人&#xff0c;最后走上了自杀的道路。 跟AI聊天还能致…...

CSS3 动画相关属性实例大全(三)(columns、filter、flex、flex-basis 、flex-grow、flex-shrink属性)

CSS3 动画相关属性实例大全&#xff08;三) &#xff08;columns、filter、flex、flex-basis 、flex-grow、flex-shrink属性&#xff09; 本文目录&#xff1a; 一、columns属性&#xff08;设置元素的列宽和列数&#xff09; 二、filter属性&#xff08;调整图像、背景和边…...

中国最厉害的思想家改名大师颜廷利:以诚信为基,塑企业信誉

跨文化融合&#xff0c;共筑包容性文化殿堂。尊重差异&#xff0c;促进团队合作&#xff0c;以诚信为基&#xff0c;塑企业信誉。融合《升命学说》智慧&#xff0c;推动员工多元化&#xff0c;践行社会责任&#xff0c;树立良好形象。创新不息&#xff0c;持续学习&#xff0c;…...

Python 代码实现用于进行水质模拟和优化加氯量

# -*- coding:utf-8 -*- import epamodule as em import epanetmsxmodule as msx import pandas as pd import numpy as np# 水质模拟,会产生一个rpt文件,但并不是返回这个文件。 def quality_simulation(inp_file,rpt_file,msx_file...

挖矿病毒来势汹汹

病毒来了, 我的个人站点使用了 wordpress, 它的不知哪个漏洞让黑客攻入了我的站点 使用 top 命令看到了有不明进程始终占据了 100% 的 CPU snapshot 1 snapshot 2 通过以下 "三板斧"可以查杀这个进程 先用 top (shiftp) 查找占据 CPU 最多的进程根据其进程号 pid 查看…...

国产数据库的蓝海在哪?

昨天有幸参加了 OceanBase2024年度发布会。在过去的几年中&#xff0c;OB 作为国内自主研发的分布式数据库&#xff0c;取得了令人瞩目的成就&#xff0c;特别是在金融行业&#xff0c;OB 通过不断的技术革新和优化&#xff0c;已经成为行业的领导者之一。OceanBase 展现了强大…...

MySQL~表的操作(创建表,查看表,修改表,删除表)

1.创建表 1.1.创建表 首先要选择需要操作的数据库&#xff0c;USE 数据库名&#xff0c;后续可以根据实际情况操作时添加。 USE fruitsales;建表语法&#xff1a; create table 表名( 字段名1 数据类型, 字段名2 数据类型, ); 实例&#xff1a;创建fruit_bak1表。 create t…...

多线程加锁与手搓智能指针实践

前缀知识 如何手搓智能指针 参考链接 如何多线程加锁&#xff0c;线程间通信 参考链接 注意&#xff1a; 在第一个链接中&#xff0c;重载赋值构造函数时&#xff0c;返回值类型为引用类型&#xff0c;仅适用于返回的这个对象, 在该函数调用前 (已经)存在了!!! 具体可参考 参考…...

3180. 执行操作可获得的最大总奖励 I

力扣刷题记录 dp 回溯 3180. 执行操作可获得的最大总奖励 I 思路 和往常一样&#xff0c;先使用暴力求解&#xff0c;想到了回溯算法&#xff0c;选择了当前数字&#xff0c;就跳到下一个数字&#xff0c;形成一个树形结构来遍历所有结果集合&#xff0c;但是没有找到优化算…...

react18中的jsx 底层渲染机制相关原理

jsx 底层渲染机制 渲染 jsx 时&#xff0c;会先解析 jsx&#xff0c;生成一个虚拟 dom(virtual dom)。然后将虚拟 dom 渲染成真实 dom。如果 jsx 中包含事件&#xff0c;会将事件绑定到真实 dom 上。 虚拟 dom 对象&#xff0c;是框架内部构建的一套对象体系&#xff0c;对象…...

Spring Boot 实现文件上传下载功能

文章目录 一、原理分析1.1 请求类型1.2 服务器解析 二、功能实现2.1 创建项目并导入依赖2.2 文件上传功能实现2.2.1 文件上传 Service2.2.2 文件上传 Controller 2.3 文件下载功能实现2.3.1 文件下载 Service2.3.2 文件下载 Controller 2.4 文件上传前端代码(可选)2.4.1 上传文…...

ArcGIS 10.8 安装教程(含安装包)

目录 一、ArcGIS10.8二、安装链接三、安装教程四、ArcGIS实战 &#xff08;一&#xff09;ArcGIS10.8 1. 概述 ArcGIS 10.8是由美国Esri公司开发的GIS平台&#xff0c;用于处理、分析、显示和管理地理数据&#xff0c;并实现数据共享。它具有新特性和功能&#xff0c;性能更…...

【小白学机器学习16】 概率论的世界观2: 从正态分布去认识世界

目录 1 从正态分布说起 1.1 正态分布的定义 1.2 正态分布的名字 1.3 正态分布的广泛&#xff0c;和基础性 2 正态分布的公式和图形 2.1 正态分布 2.2 标准正态分布 3 正态分布的认识的3个层次 3.1 第1层次&#xff1a;个体的某个属性的样本值&#xff0c;服从正态分布…...

Python 爬虫项目实战:爬取某云热歌榜歌曲

一、网络爬虫的定义 网络爬虫&#xff08;Web Crawler&#xff09;&#xff0c;也成为网页蜘蛛或者网页机器人&#xff0c;是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索以及内容抓取等。 二、爬虫基本原理 1、种子URL&#xff1a;爬…...

HCIP-HarmonyOS Application Developer 习题(十八)

&#xff08;判断&#xff09;1、在HarmonyOS有序公共事件中&#xff0c;高优先级订阅者可修改公共事件内容或处理结果&#xff0c;但不能终止公共事件处理。 答案&#xff1a;错误 分析&#xff1a;有序公共事件&#xff1a;主要场景是多个订阅者有依赖关系或者对处理顺序有要…...

操作系统学习笔记2.3互斥

文章目录 进程同步实现方式 进程互斥实现方式 软件实现方法硬件实现方法同步问题生产者-消费者问题问题描述解决方案代码解析 多生产者-多消费者问题问题描述 解决方案代码解析总结 抽烟者问题问题背景 同步与互斥的挑战解决方案实现步骤代码解释 关键点 进程同步 进程同步是指…...

LLM - 使用 Neo4j 可视化 GraphRAG 构建的 知识图谱(KG) 教程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/142938982 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 Neo4j …...

Linux 环境的搭建方式->远程登录->免密登录

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;Linux系统性学习_Jason_from_China的博客-CSDN博客 所属栏目&#xff1a;Linux知识点的补充_Jason_from_China的博客-CSDN博客 Linux 环境的搭建方式 Linux 环境的搭建主要有三种方式&#xff1a; 直接安…...

react18中的计算属性及useMemo的性能优化技巧

react18里面的计算属性和使用useMemo来提升组件性能的方法 计算属性 实现效果 代码实现 函数式组件极简洁的实现&#xff0c;就这样 import { useState } from "react"; function FullName() {const [firstName, setFirstName] useState("");const [la…...

一键查询注册过的网站/网络推广都有哪些方式

一、用 python 进行微信好友分析 1、使用到的库 &#xff08;1&#xff09;wxpy&#xff1a;初始化微信机器人 &#xff08;2&#xff09;openpyxl&#xff1a;保存微信好友数据为Excel表格 &#xff08;3&#xff09; pyecharts&#xff1a;生成可视化的地图 &#xff08;4&am…...

怎么样做销往非洲太阳能板的网站/谷歌浏览器 官网下载

点击此处&#xff1a;官网下载根据自己的系统 &#xff0c;下载相应的JDK版本。1. JDK1.8安装1.双击下载的安装包(.exe文件)&#xff0c;进行安装。2.点击“下一步”3.这里可以自行选择安装目录&#xff0c;笔者选择安装在D盘。点击“更改”&#xff0c;进入文件夹&#xff0c;…...

武汉影楼网站建设/微信公众号推广2元一个

目录 一、前言 二、Java的发展 1.起源 2.发展 3.未来趋势 三、特点 1.简单安全 2.面向对象 3.解释执行 4.平台无关 5.分布式 6.多线程 7.三高 三、开发平台 1.Java SE 2.Java EE 3.Java ME 四、JRE与JDK 1.JRE 2.JDK 五、常见DOS命令 六、Java编程环境 …...

口碑好的黄石网站建设/今日热搜新闻头条

从本质上讲&#xff1a;机器学习就是一个模型对外界的刺激&#xff08;训练样本&#xff09;做出反应&#xff0c;趋利避害&#xff08;评价标准&#xff09;。 1. 什么是逻辑回归&#xff1f; 许多人对线性回归都比较熟悉&#xff0c;但知道逻辑回归的人可能就要少的多。从大的…...

廊坊集团网站建设/全网关键词云在哪里看

Git 虽然因其分布式管理方式&#xff0c;不完全依赖网络&#xff0c;良好的分支策略&#xff0c;容易部署等优点&#xff0c;已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获&#xff0c;如果想更好地掌握 git&#xff0c;需要付出大量的学习成本。即使在各种 GUI 的加…...

防伪网站模板/为企业推广

把自己使用到的ldap调用的代码分享出来&#xff0c;希望大家可以参考#!/usr/bin/python# -*- coding: utf-8 -*-"""Time : 2019/11/14 5:37 PMAuthor : NoSongFile : LdapBaseApi.pySoftware: PyCharm# 接口文档: https://ldap3.readthedocs.io/# https://ldap3…...