当前位置: 首页 > 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;但是没有找到优化算…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...