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 感谢阅览~


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

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

相关文章

青训营刷题笔记16

问题描述 小R从班级中抽取了一些同学&#xff0c;每位同学都会给出一个数字。已知在这些数字中&#xff0c;某个数字的出现次数超过了数字总数的一半。现在需要你帮助小R找到这个数字。 测试样例 样例1&#xff1a; 输入&#xff1a;array [1, 3, 8, 2, 3, 1, 3, 3, 3] 输出…

Go语言链接Redis数据库

1.使用go get命令安装go-redis/v8库&#xff1a; 我这里使用的vscode工具安装&#xff1a; go get github.com/go-redis/redis/v82.创建Redis客户端实例 使用以下Go代码连接到Redis服务器并执行命令&#xff1a; package mainimport ("context""fmt"&q…

Mybatis 核心配置文件

MyBatis的全局配置文件mybatis-config.xml&#xff0c;配置内容如下&#xff1a; properties&#xff08;属性&#xff09; settings&#xff08;全局配置参数&#xff09; typeAliases&#xff08;类型别名&#xff09; typeHandlers&#xff08;类型处理器&#xff09; obj…

09 —— Webpack搭建开发环境

搭建开发环境 —— 使用webpack-dev-server 启动Web服务&#xff0c;自动检测代码变化&#xff0c;有变化后会自动重新打包&#xff0c;热更新到网页&#xff08;代码变化后&#xff0c;直接替换变化的代码&#xff0c;自动更新网页&#xff0c;不用手动刷新网页&#xff09; …

TCP vs UDP:如何选择适合的网络传输协议?

在网络通信中&#xff0c;TCP&#xff08;Transmission Control Protocol&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是两种非常重要的传输层协议。它们各有特点&#xff0c;适用于不同类型的应用场景。本文将详细探讨TCP和UDP协议的结构、优缺点及应用&…

网络安全之内网安全

下面给出了应对企业内网安全挑战的10种策略。这10种策略即是内网的防御策略&#xff0c;同时也是一个提高大型企业网络安全的策略。 1、注意内网安全与网络边界安全的不同 内网安全的威胁不同于网络边界的威胁。网络边界安全技术防范来自Internet上的攻击&#xff0c;主要是防…

7-2 扑克牌花色

作者 李祥 单位 湖北经济学院 给 52 张扑克牌面编号如下&#xff1a; 编号牌面编号牌面编号牌面编号牌面0♠A13♥A26♣A39♦A1♠214♥227♣240♦22♠315♥328♣341♦33♠416♥429♣442♦44♠517♥530♣543♦55♠618♥631♣644♦66♠719♥732♣745♦77♠820♥833♣846♦88♠9…

windows 中docker desktop 安装

前提条件&#xff1a; 安装wsl2 1. 下载 Docker Desktop 访问 Docker Desktop 官方下载页面。 https://www.docker.com/products/docker-desktop/ 根据你的操作系统架构&#xff08;一般为 Windows x86_64&#xff09;下载安装程序。 选择标准&#xff1a; AMD64 是行业…

初学 flutter 环境变量配置

一、jdk&#xff08;jdk11&#xff09; 1&#xff09;配置环境变量 新增&#xff1a;JAVA_HOMEC:\Program Files\Java\jdk-11 //你的jdk目录 在path新增&#xff1a;%JAVA_HOME%\bin2&#xff09;验证是否配置成功&#xff08;cmd运行命令&#xff09; java java -version …

Linux——进程间通信之管道

进程间通信之管道 文章目录 进程间通信之管道1. 进程间通信1.1 为什么要进行进程间的通信1.2 如何进行进程间的通信1.3 进程间通信的方式 2. 管道2.1 匿名管道2.1.1 系统调用pipe()2.1.2 使用匿名管道进行通信2.1.1 匿名管道四种情况2.1.2 匿名管道的五大特性2.1.3 进程池 2.2 …

Sigrity SPEED2000 DDR simulation模式如何生成和解读DDR仿真报告-SODIMM-Write模式

Sigrity SPEED2000 DDR simulation模式如何生成和解读DDR仿真报告-SODIMM-Write模式 Sigrity SPEED2000 DDR simulation模式如何进行DDR仿真分析操作指导-SODIMM-Write模式详细介绍了如何进行DDR Write模式的仿真分析,下面基于此仿真结果进行DDR报告的输出和解读分析 在workfl…

【机器学习chp7】SVM

参考1&#xff0c;笔记 SVM笔记.pdf 参考2&#xff1a;王木头视频 什么是SVM&#xff0c;如何理解软间隔&#xff1f;什么是合叶损失函数、铰链损失函数&#xff1f;SVM与感知机横向对比&#xff0c;挖掘机器学习本质_哔哩哔哩_bilibili 目录 一、SVM模型 二、构建决策函…

使用Electron将vue2项目打包为桌面exe安装包

目录 一、下载electron模板项目 【electron-quick-start】​ 二、打开项目&#xff0c;安装所有依赖 三、在打exe包的时候报错是因为没有&#xff0c;需要检查并安装之后重新打包&#xff1b; 四、经过这么疯狂的一波操作之后&#xff0c;就可以打包出你想要的exe安装包&am…

摄像机常见的问题及解决方法

文章目录 1)红外网络枪形摄像机白天出现模糊&#xff0c;晚上出现星芒灯2、摄像机夜晚效果调整3、网络摄像机帧率和码流调整4、码流对图像质量的影响 如果你在安装的过程中,出现了以下的问题,请对照下列描述解决你的问题&#xff1a; 1)红外网络枪形摄像机白天出现模糊&#xf…

决策树分类算法【sklearn/决策树分裂指标/鸢尾花分类实战】

决策树分类算法 1. 什么是决策树&#xff1f;2. DecisionTreeClassifier的使用&#xff08;sklearn&#xff09;2.1 算例介绍2.2 构建决策树并实现可视化 3. 决策树分裂指标3.1 信息熵&#xff08;ID3&#xff09;3.2 信息增益3.3 基尼指数&#xff08;CART&#xff09; 4. 代码…

001 数字逻辑概论

1.1 数字信号与数字电路 目标1&#xff1a;what is 数字信号与数字电路 1.1.1.数字技术的发展及其应用 &#xff08;1&#xff09;发展&#xff1a; 发展过程特点: 以电子器件的发展为基础&#xff0c;如下图 电子管时代&#xff1a; 电子管&#xff1b;电子管体积大、重量…

Rust中Tracing 应用指南

欢迎来到这篇全面的Rust跟踪入门指南。Rust 的tracing是一个用于应用程序级别的诊断和调试的库。它提供了一种结构化的、异步感知的方式来记录日志和跟踪事件。与传统的日志记录相比&#xff0c;tracing能够更好地处理复杂的异步系统和分布式系统中的事件跟踪&#xff0c;帮助开…

C语言——break、continue、goto

目录 一、break 二、continue 1、在while循环中 2、在for循环中 三、go to 一、break 作用是终止循环&#xff0c;在循环内遇到break直接就跳出循环。 注&#xff1a; 一个break语句只能跳出一层循环。 代码演示&#xff1a; #include<stdio.h>void test01() {for (…

SSM全家桶 1.Maven

或许总要彻彻底底地绝望一次 才能重新再活一次 —— 24.11.20 maven在如今的idea中已经实现自动配置&#xff0c;不需要我们手动下载 一、Maven的简介和快速入门 Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件)&#xff0c;使用 Maven 可以自动化构建测试、打包和发…

Oracle SQL*Plus中的SET VERIFY

在 Oracle SQL*Plus 中&#xff0c;SET VERIFY ON 和 SET VERIFY OFF 是两个用于控制命令执行前后显示变量值的命令。这些命令主要用于调试和验证 SQL 脚本中的变量替换情况。 一、参数说明 1.1 SET VERIFY ON 作用&#xff1a;启用变量替换的验证功能。当启用时&#xff0c;S…