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

Centos Stream 9安装Jenkins-2.485 构建自动化项目步骤

官网:https://www.jenkins.io/

1 下载

环境准备:
版本支持查询:https://pkg.jenkins.io/redhat-stable/
jdk
安装JDK17:https://blog.csdn.net/qq_44870331/article/details/140784297

yum  -y install epel-release wget  upgrade
wget -O /etc/yum.repos.d/jenkins.repo \https://pkg.jenkins.io/redhat/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key

这个下载太慢了,还是下面收到下包安装好
yum -y install jenkins

从清华源下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat

wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.485-1.1.noarch.rpm --no-check-certificate

2 安装

rpm -ivh jenkins-2.485-1.1.noarch.rpm

3 查看安装的文件

rpm -ql jenkins

安装的文件

4 修改默认端口

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

4.1 改启动用户

在这里插入图片描述

4.2 改启动端口

JENKINS_PORT="16060"

端口

4.3 修改JDK位置:

Environment="JAVA_HOME=/opt/coisini/jdk-17.0.12"

jdk位置

5 赋权

chown -R root:root /var/lib/jenkins

6 创建快链接:

ln -s /usr/lib/systemd/system/jenkins.service /etc/systemd/system/jenkins.service
chmod 754 /etc/systemd/system/jenkins.service

7 重新加载配置

systemctl daemon-reload

8 相关命令

设置开机自启:systemctl enable jenkins
启动:systemctl start jenkins
状态:systemctl status jenkins
启动

9 开放端口:

firewall-cmd --zone=public --add-port=16060/tcp --permanent
firewall-cmd --reload

10 浏览器访问:

http://192.168..:16060/

11 需要输入管理密码, 在以下位置查看:

cat /var/lib/jenkins/secrets/initialAdminPassword

密码

12 个性化安装

按默认设置,把建议的插件都安装上:

自定义
安装插件

要等几分钟……有几个安装错误,后面点重试,就能装上了

1
bao存
就绪
页面

13 Manage Jenkins安装插件

在实现持续集成之前, 需要确保以下插件安装成功。

  • Maven Integration : Maven 集成管理插件。

  • Docker: Docker集成插件。

  • GitLab : GitLab集成插件。

  • Publish Over SSH:远程文件发布插件。

  • SSH: 远程脚本执行插件。

  • nodejs
    manage
    安装插件

安装maven、docker、Maven Integration、GitLab、Publish Over SSH、SSH、nodejs插件
方便后面配置本机软件位置

安装
安装等待

14 安装插件:

14.1 Git安装配置

  1. yum 安装方式
  yum -y install git
  1. 检查git版本
git version

14.2 Maven安装配置

  1. 下载安装包

下载地址: https://maven.apache.org/download.cgi

解压安装包

cd /opt/coisini/
mkdir maven
cd maven
wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip --no-check-certificate
yum -y install unzip
unzip -o apache-maven-3.9.9-bin.zip

ll

  1. 配置

环境变量配置
vi ~/.bash_profile

新增:

#maven
export MAVEN_HOME=/opt/coisini/maven/apache-maven-3.9.9
export PATH=$PATH:$MAVEN_HOME/bin

配置文件生效:

source ~/.bash_profile

修改镜像仓库配置:
vi /opt/coisini/maven/apache-maven-3.9.9/conf/settings.xml

需要把本机的仓库打包上传到服务器上(不上传会自动下载)
然后指定上传后的仓库配置

<localRepository>/opt/coisini/maven/apache-maven-3.9.9/repository</localRepository>

添加镜像地址:

<!--更换私服,https://developer.aliyun.com/mvn/guide--><mirror><!--镜像的唯一标识符,区分不同mirror元素--><id>aliyun-public</id><!--对哪种仓库进行镜像,就是替代哪个仓库--><mirrorOf>public</mirrorOf><!--镜像名称--><name>public</name><!--镜像URL--><url>https://maven.aliyun.com/repository/public</url></mirror><mirror><!--镜像的唯一标识符,区分不同mirror元素--><id>aliyun-central</id><!--对哪种仓库进行镜像,就是替代哪个仓库--><mirrorOf>central</mirrorOf><!--镜像名称--><name>central</name><!--镜像URL--><url>https://maven.aliyun.com/repository/central</url></mirror><mirror><!--镜像的唯一标识符,区分不同mirror元素--><id>aliyun-jcenter</id><!--对哪种仓库进行镜像,就是替代哪个仓库--><mirrorOf>jcenter</mirrorOf><!--镜像名称--><name>jcenter</name><!--镜像URL--><url>https://maven.aliyun.com/repository/public</url></mirror>

添加源
ESC + :wq 保存退出

14.3 安装docker

docker安装:https://blog.csdn.net/qq_44870331/article/details/129735250

Docker Registry私有仓库安装配置

对于持续集成环境的配置,Jenkins会发布大量的微服务, 要与多台机器进行交互, 可以采用docker镜像的保存与导出功能结合SSH实现, 但这样交互繁琐,稳定性差, 而且不便管理, 这里我们通过搭建Docker的私有仓库来实现, 这个有点类似GIT仓库, 集中统一管理资源, 由客户端拉取或更新。

  1. 下载最新Registry镜像
docker pull registry:latest
  1. 启动Registry镜像服务
docker run -d -p 5000:5000 --name registry -v /usr/local/docker/registry:/var/lib/registry registry:latest

映射5000端口; -v是将Registry内的镜像数据卷与本地文件关联, 便于管理和维护Registry内的数据。

docker update registry --restart=always
  1. 查看仓库资源

访问地址:http://192.168.31.16:5000/v2/_catalog

启动正常, 可以看到返回:

{
"repositories": []
}

repositories
目前并没有上传镜像, 显示空数据。
如果上传成功, 可以看到数据:

  1. 配置Docker客户端

正常生产环境中使用, 要配置HTTPS服务, 确保安全,内部开发或测试集成的局域网环境,可以采用简便的方式, 不做安全控制。

先确保持续集成环境的机器已安装好Docker客户端, 然后做以下修改:

vi /lib/systemd/system/docker.service

修改内容:

ExecStart=/usr/bin/dockerd --insecure-registry 192.168.31.16:5000

这里
指向安装Registry的服务IP与端口。
重启生效:

systemctl daemon-reload
systemctl restart docker.service

15 持续集成生产实践配置

15.1 Jenkins工具配置

  1. 进入【系统管理】–> 【全局工具配置】
    配置

15.2 maven

配置本机maven配置文件
注意配置文件要精确到 .xml文件

改一下

15.3 配置JDK

填写本机JDK位置
在这里插入图片描述

15.4 配置Git

git

15.5 配置 maven 存在的目录

maven

15.6 docker 配置

如果没有docker 去插件那里下载,然后等待下载完
docker

15.7 保存

baocun

16 设置远程应用服务主机

1
2
凭据
添加
添加root
也可以这么点

点击
添加

添加ssh配置
系统
SSH配置:
SSH

添加
测试连接
测试连接

保存
保存

17 环境准备

17.1 mysql部署

  • 基于CentOS Stream 9平台安装MySQL8.4.0 LTS
  • 或者docker部署(虽然不推荐)
docker search mysqldocker pull mysql:8.0.39mkdir /opt/coisini/mysql8
mkdir /opt/coisini/mysql8/logs
mkdir /opt/coisini/mysql8/mysql
mkdir /etc/mysql
touch /etc/mysql/conf.ddocker run -id \
-p 3307:3306 \
--name=mysql8 \
-v /opt/coisini/mysql8/conf:/etc/mysql/conf.d \
-v /opt/coisini/mysql8/logs:/var/log/mysql \
-v /opt/coisini/mysql8/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.39docker exec -it mysql8 /bin/bashfirewall-cmd --zone=public --add-port=3307/tcp --permanent
firewall-cmd --reloaddocker update mysql8 --restart=always

17.2 xxl-job-admin部署

使用xxl-job-admin2.4.2版本,主版本2.5.0还在开发,并不完整
下载xxl-job-admin:https://github.com/xuxueli/xxl-job/releases/tag/2.4.2
下载压缩包再解压打开
下载

一般导入新项目,会使用默认的maven下载依赖很慢,直接去设置里面改为自己本机的maven,配置了国内镜像,加载速度会很快
修改maven位置

MySQL导入初始数据:
初始化“调度数据库位置”: /xxl-job/doc/db/tables_xxl_job.sql
数据库
(1)修改xxl-job-admin中的application.properties文件,修改端口号为8888,数据库连接指向192.168.31.16这台服务器
8888
数据库连接
(2)执行打包命令cmd 中 admin目录下:mvn package
打包
这里

把生成的jar文件上传到服务器上
cd /opt/coisinimkdir xxl-jobcd xxl-job/

ll

17.3 创建镜像文件:

vi Dockerfile

在xxl-job目录下创建Dockerfile文件,内容如下

FROM openjdk:8
COPY xxl-job-admin-2.4.2.jar /app.jar
CMD java -jar /app.jar
EXPOSE 8888

执行构建镜像命令:

docker build -t xxl-job-admin:2.4.2 .

创建容器

docker run -di --name=xxl-job-admin -p 8888:8888 xxl-job-admin:2.4.2

设置自启:

docker update xxl-job-admin --restart=always

访问

http://192.168.31.16:8888/xxl-job-admin/

默认登录账号密码 admin 123456

18 添加gitee账号密码 凭证

凭证
全局凭证

19 添加Gitee账号密码

gitee

20 新建自动化项目

新建项目
自由风格
自由风格
添加描述;
自动化构建
源码管理
源码
指定拉取分支,默认master
分支

添加构建步骤
构建
maven版本:就是之前在jenkins中配置的maven

目标:输入maven的命令 clean install -Dmaven.test.skip=true 跳过测试安装
配置
应用
构建计划;
构建计划

或者在首页的时候,点这里;

shouye1
构建中出现错误,根据相关错误去处理:
例如:maven目录错误
maven
之前maven的配置文件只写了:/opt/coisini/maven/apache-maven-3.9.9/conf
这需要指定到具体settings.xml文件。。
改一下
也去项目的该机选项
高级
也有xml配置文件配置,路径要确认好

改好之后重新构建一下就可以了


END 感谢阅览~


相关文章:

Centos Stream 9安装Jenkins-2.485 构建自动化项目步骤

官网&#xff1a;https://www.jenkins.io/ 1 下载 环境准备&#xff1a; 版本支持查询&#xff1a;https://pkg.jenkins.io/redhat-stable/ 安装JDK17&#xff1a;https://blog.csdn.net/qq_44870331/article/details/140784297 yum -y install epel-release wget upgradew…...

电路模型和电路定理(二)

电路元件 是电路中最基本的组成单元。 电阻元件&#xff1a;表示消耗电能的元件 电感元件&#xff1a;表示产生磁场&#xff0c;储存磁场能的元件 电容元件&#xff1a;表示产生电场&#xff0c;储存电场能量的元件 电压源和电流源&#xff1a;表示将其他形式的能量转变成…...

瑞佑液晶控制芯片RA6807系列介绍 (三)软件代码详解 Part.10(让PNG图片动起来)完结篇

RA6807是RA8876M的缩小版&#xff0c;具备RA8876M的所有功能&#xff0c;只将MCU控制接口进行缩减&#xff0c;仅保留SPI-3和I2C接口&#xff0c;其它功能基本相同。 该芯片最大可控制854x600的分辨率&#xff0c;内建64Mbits显存&#xff0c;多个图层&#xff0c;使用起来相当…...

Qt常用控件 按钮

文章目录 1. QAbstractButton 简介2. QPushButton2.1 例子1&#xff0c;设置按钮的图标2.2 例子2&#xff0c;设置按钮快捷键 3. QRadioButton3.1 介绍3.2 例子1&#xff0c;选择性别3.3 例子2&#xff0c;试试其他的信号3.3 例子3&#xff0c;分组 4. QCheckBox4.1 介绍4.2 例…...

MySQL学习/复习10视图/用户/权限/语言连接数据库

一、视图 1.1创建视图 1.2视图影响基表 1.3基表影响视图 1.4删除视图 1.5视图使用规则 二、数据库的用户 2.1mysql中的user表 注意事项&#xff1a;主机/用户名/密码/权限 2.2用户的创建 注意事项&#xff1a;设置密码与登录地点需谨慎 2.3删除用户 注意事项&#xff1a;% 2.4…...

vulfocus在线靶场:tomcat-pass-getshell 弱口令 速通手册

目录 一、启动环境&#xff0c;访问页面&#xff0c;并登录&#xff0c;账号密码都是tomcat 二、哥斯拉打war包&#xff0c;图解 三、上传war包&#xff0c;图解 四、访问我们直接url/木马文件名/木马文件.jsp&#xff0c;是否存在了 五、 哥斯拉测试连接结果success&…...

c#:winform调用bartender实现打印(学习整理笔记)

效果 学习路径 C# winform调用Bartender进行自定义打印、批量打印、检索文件夹中的模板_哔哩哔哩_bilibili 一、初始环境搭建见&#xff1a; c#:winform引入bartender-CSDN博客https://blog.csdn.net/weixin_46001736/article/details/143989473?sharetypeblogdetail&s…...

牛客题库 21738 牛牛与数组

牛牛与数组题目链接 题目大意 牛牛喜欢这样的数组: 1:长度为n 2:每一个数都在1到k之间 3:对于任意连续的两个数A,B,A<=B 与(A % B != 0) 两个条件至少成立一个请问一共有多少满足条件的数组,对 1 e 9 + 7 1e^9+7 1e9+7 取模 输入格式 输入两个整数 n , k n,k n,…...

探索PDFMiner:Python中的PDF解析利器

文章目录 **探索PDFMiner&#xff1a;Python中的PDF解析利器**1. 背景介绍&#xff1a;为何选择PDFMiner&#xff1f;2. PDFMiner是什么&#xff1f;3. 如何安装PDFMiner&#xff1f;4. 简单库函数使用方法4.1 提取文本4.2 获取页面布局信息4.3 提取表格数据4.4 提取图像 5. 应…...

掌握Go语言中的异常控制:panic、recover和defer的深度解析

掌握Go语言中的异常控制:panic、recover和defer的深度解析 在Go语言的编程世界中,异常处理是一个不可忽视的话题。Go语言提供了panic、recover和defer三个关键字来处理程序中的异常情况。本文将深入探讨这三个关键字的工作原理、使用场景和最佳实践,帮助读者在实际编程中更…...

云讷科技Kerloud无人飞车专利发布

云讷科技Kerloud无人飞车获得了“一种室内外两用的四旋翼无人飞车”的实用新型专利证书&#xff0c;作为科教社区第一款四旋翼飞车&#xff0c;这项技术结合了无人机和无人车的优势&#xff0c;提供了一种能够在多种环境下使用的多功能飞行器。 这项设计的优势如下&#xff…...

企业信息化-走进身份管理之搭建篇

​一、身份管理是什么 我们先要弄懂统一身份管理到底是什么&#xff1f; 统一身份管理&#xff08;Unified Identity Manager&#xff0c;UIM&#xff09;&#xff0c;身份管理&#xff08;Identity Management&#xff0c;简称IDM&#xff09;&#xff0c;也被称为IAM&#…...

实践指南:EdgeOne与HAI的梦幻联动

在当今快速发展的数字时代&#xff0c;安全和速度已成为网络服务的基石。EdgeOne&#xff0c;作为腾讯云提供的边缘安全加速平台&#xff0c;以其全球部署的节点和强大的安全防护功能&#xff0c;为用户提供了稳定而高效的网络体验。而HAI&#xff08;HyperApplicationInventor…...

Exploring Prompt Engineering: A Systematic Review with SWOT Analysis

文章目录 题目摘要简介方法论背景相关工作评估结论 题目 探索快速工程&#xff1a;基于 SWOT 分析的系统评价 论文地址&#xff1a; https://arxiv.org/abs/2410.12843 摘要 在本文中&#xff0c;我们对大型语言模型 (LLM) 领域的提示工程技术进行了全面的 SWOT 分析。我们强…...

ByteBuffer 与 ByteBuf 的对比与优缺点分析

在 Java 网络编程和高性能 I/O 场景中&#xff0c;ByteBuffer 和 ByteBuf 是两种重要的缓冲区处理工具。ByteBuffer 是 Java NIO 标准库的一部分&#xff0c;而 ByteBuf 是由 Netty 框架提供的增强缓冲区工具。在实际开发中&#xff0c;选择哪一种取决于场景需求和性能目标。 …...

js高级06-ajax封装和跨域

8.1、ajax简介及相关知识 8.1.1、原生ajax 8.1.1.1、AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML&#xff0c;就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求&#xff0c;最大的优势&#xff1a;无刷新获取数据。 按需请求&#xff0c;可…...

RabbitMQ3:Java客户端快速入门

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…...

D 型 GaN HEMT 在功率转换方面的优势

氮化镓 (GaN) 是一种 III-V 族宽带隙半导体&#xff0c;由于在用作横向高电子迁移率晶体管 (HEMT) 时具有卓越的材料和器件性能&#xff0c;因此在功率转换应用中得到越来越多的采用。 HEMT 中产生的高击穿电场 (3.3 MV/cm) 和高二维电子气 (2DEG) 载流子迁移率 (2,000 cm 2 /…...

Java Web后端项目的特点和组成部分

技术栈 #### Java Web技术&#xff1a; - **Servlet**&#xff1a;Java Web的核心&#xff0c;用于处理HTTP请求。 - **WebServlet注解配置**&#xff1a;用于简化Servlet的配置。 - **HttpServlet基类**&#xff1a;大多数Servlet都继承自此基类。 - **请求响应处理**&#x…...

Vue3 + Vite + TS 项目引入 Eslint + Pritter

文章目录 一、ESLint 简介主要功能适用场景常用的 Eslint 配置项 二、Pritter 简介主要功能适用场景常用的 Prettier 配置项 三、Vue3 Vite TS 项目引入 Eslint Pritter1. 安装 ESLint2. 初始化 ESLint 配置3. 在 Vite 项目中启用 ESLint4. 在 VS Code 中启用 ESLint5. 集成…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...