jenkins搭建文档

jenkins搭建文档

  • 简介
  • 一、安装运行环境
    • 1、安装JDK环境
      • 1)查询自带的JDK
      • 2)卸载自带的JDK
      • 3)创建java文件夹并将jdk上传到该文件夹
      • 4)解压
      • 5)配置环境变量
      • 6)配置生效
      • 7)验证是否成功
    • 2、安装maven环境
      • 1)下载maven
      • 2)创建maven文件夹并将maven上传
      • 3)解压
      • 4)创建maven仓库
      • 5)替换settings.xml文件
      • 6)把本地的配置文件替换上去
      • 7)修改仓库地址
      • 8)配置环境变量
      • 9)配置生效
      • 10)验证是否成功
  • 二、执行脚本
    • 1、导入shell脚本文件
    • 2、赋予执行权限
    • 3、执行脚本
    • 4、等待执行完输出如下内容
  • 三、新手入门配置
    • 1、打开上面提示的网址
    • 2、将Jenkins管理员密码粘贴到页面点击继续
    • 3、自定义jenkins选择自定义安装推荐的插件
    • 4、创建用户并点击保存
    • 5、请求url配置使用默认即可,点击保存并完成
    • 6、开始使用jenkins
    • 7、重启jenkins生效中文化界面
  • 四、安装插件
    • 1、安装maven
    • 2、安装ssh
    • 3、安装NodeJS
    • 4、重启生效
  • 五、配置
    • 1、JDK配置
    • 2、maven配置
    • 3、ssh配置
    • 4、NodeJS配置
  • 六、后端项目构建
    • 1、点击新建任务
    • 2、git配置
    • 3、构建前配置
    • 4、构建配置
    • 5、构建后配置
    • 6、ssh上传到指定服务器
    • image.png
    • 7、归档功能配置
    • 8、构建操作
    • 9、查看日志
    • 10、页面下载
    • 11、远程服务器下载
  • 七、前端项目构建
    • 1、新建任务
    • 2、git配置
    • 3、构建环境配置
    • 4、构建配置
    • 5、ssh上传到指定服务器
    • 6、归档功能配置
    • 7、构建操作
    • 8、查看日志
    • 9、页面下载

在这里插入图片描述

简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成

一、安装运行环境

1、安装JDK环境

1)查询自带的JDK

rpm -qa | grep jdk

image.png

2)卸载自带的JDK

rpm -e --nodeps 要卸载的JDK

image.png

3)创建java文件夹并将jdk上传到该文件夹

cd /usr/local
mkdir java
cd java
#上传jdk安装文件

没有jdk安装文件的可以在官网下载
image.png

4)解压

tar -zxvf 所要解压的文件名

image.png

5)配置环境变量

vim /etc/profile

把光标移到最后一行,键盘按 i,进入编辑模式,然后插入以下内容:(注意自己所建java的路径、jdk的名称)

JAVA_HOME=/usr/local/java/jdk1.8.0_381
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

image.png
然后按ESC退出编辑模式,‘shift + :’,输入wq,回车,完成保存并退出

6)配置生效

source /etc/profile

7)验证是否成功

java -version

image.png

2、安装maven环境

1)下载maven

打开maven官网:Maven – Download Apache Maven
我选择的是3.9.5
image.png

2)创建maven文件夹并将maven上传

cd /usr/local
mkdir maven
cd maven
#上传maven安装文件

3)解压

tar -zxvf 所要解压的文件名

image.png

4)创建maven仓库

mkdir repository

5)替换settings.xml文件

cd apache-maven-3.9.5/conf

6)把本地的配置文件替换上去

没有的可以用我的
settings.xml

7)修改仓库地址

vi settings.xml

将localRepository修改为/usr/local/maven/repository
image.png
按Esc键退出编辑模式,输入:wq保存并退出vim编辑器

8)配置环境变量

vim /etc/profile

把光标移到最后一行,键盘按 i,进入编辑模式,然后插入以下内容:(注意自己所建maven的路径)

export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.5
export PATH=$PATH:$MAVEN_HOME/bin

image.png
然后按ESC退出编辑模式,‘shift + :’,输入wq,回车,完成保存并退出

9)配置生效

source /etc/profile

10)验证是否成功

mvn -v

image.png

二、执行脚本

1、导入shell脚本文件

install_jenkins.sh

#!/bin/bash

# 检查Docker是否已安装
if ! command -v docker &> /dev/null; then
    echo "Docker未安装,开始安装Docker..."

    #卸载残留docker
    sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

    #安装工具包
    sudo yum install -y yum-utils

    #设置储存库
    sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

    # 安装Docker
    sudo yum install docker-ce docker-ce-cli containerd.io -y

    # 启动Docker服务
    sudo systemctl start docker

    # 设置Docker开机自启动
    sudo systemctl enable docker

    #创建文件
    mkdir -p /etc/docker

    #配置docker镜像
    sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://w6rlizew.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

# 重启后台线程
    sudo systemctl daemon-reload
    # 重启docker
    sudo systemctl restart docker

    echo "Docker安装完成."
fi

# 下载Jenkins镜像
sudo docker pull jenkins/jenkins:2.415

# 创建Jenkins容器,将端口映射为8090
CONTAINER_ID=$(sudo docker run -d -u root -p 8090:8080 -p 50000:50000 -v /var/jenkins_home/workspace/:/var/jenkins_home/workspace/ -v /usr/local/maven/repository/:/usr/local/maven/repository/ -v /var/run/docker.sock:/var/run/docker.sock  -v /usr/bin/docker:/usr/bin/docker -v /usr/local/java/jdk1.8.0_371:/usr/local/java -v /usr/local/maven/apache-maven-3.9.5:/usr/local/maven -e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai" --name jenkins_container jenkins/jenkins:2.415)

# 检查Jenkins容器是否正在运行
sudo docker ps

chmod -R 777 /var/jenkins_home

#等待启动 睡眠5秒
sleep 5

#获取管理员密码
PASSWORD=$(sudo docker exec -it $CONTAINER_ID cat /var/jenkins_home/secrets/initialAdminPassword)

if [ -z "$PASSWORD" ]; then
    echo "Jenkins启动超时,无法获取管理员密码。"
    exit 1
fi

echo "Jenkins管理员密码: $PASSWORD"

ip_address=$(hostname -I | awk '{print $1}')
echo "请在浏览器中访问 http://${ip_address}:8090 进行配置和使用。"

:::info
解释
-d :后台运行
-p:8098:8080 镜像8080 :端口映射到宿主机 10240端口
-p:50000:50000 镜像50000 :端口映射到宿主机 10241端口
-v:/var/jenkins_home/workspace/:/var/jenkins_home/workspace/
/var/jenkins_home/workspace/ 宿主机的Jenkins目录挂载路径 jenkins
/var/jenkins_home/workspace/ 镜像服务器中jenkins的工作目录
-v /usr/bin/docker:/usr/bin/docker : 挂载docker
-v /usr/local/java/jdk1.8.0_371:/usr/local/java : 挂载映射宿主机jdk
-v /usr/local/maven/apache-maven-3.9.5:/usr/local/maven : 挂载映射宿主机maven
-e JAVA_OPTS=“-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai” \ :同步时间
–name myjenkins(自定义容器名称) jenkins/jenkins(需要映射容器名称)

:::

2、赋予执行权限

chmod 755 install_jenkins.sh

image.png

3、执行脚本

sh install_jenkins.sh

4、等待执行完输出如下内容

Jenkins管理员密码: 8bd1236206f64520b16f8d81b827f613
请在浏览器中访问 http://192.168.0.44:8090 进行配置和使用。

image.png
备注:Jenkins管理员密码后续会在网页中使用。

三、新手入门配置

1、打开上面提示的网址

打开http://192.168.0.44:8090会弹出如下页面
在这里插入图片描述

2、将Jenkins管理员密码粘贴到页面点击继续

备注:Jenkins管理员密码在第一步执行完脚本后会输出出来
image.png

3、自定义jenkins选择自定义安装推荐的插件

image.png
等待安装完成
image.png

4、创建用户并点击保存

image.png

5、请求url配置使用默认即可,点击保存并完成

image.png

6、开始使用jenkins

image.png

7、重启jenkins生效中文化界面

开始jenkins后进入到该页面,会发现部分中文化有问题,比如Manage Jenkins,需要对jenkins进行重启以解决该问题
image.png

# 查询镜像id
docker ps -a
# 重启镜像
docker restart 镜像id

image.png
重启后需要重新登录
image.png
重启后中文化异常问题修复。没错 就是这么神奇!!!
image.png
至此新手入门配置全部完成

四、安装插件

部署需要用到很多的插件,比如java、git、maven、ssh等,这里对插件进行安装
点击系统管理-插件管理-Available plugins
image.png

1、安装maven

搜索maven,选择Maven IntegrationVersion3.23,点击安装
image.png

2、安装ssh

搜索ssh,选择Publish over SSH,点击安装
image.png

3、安装NodeJS

在插件安装页面搜索node,选择NodeJS,点击安装
image.png

4、重启生效

等待安装完成后重启jenkins。

# 查询镜像id
docker ps -a
# 重启镜像
docker restart 镜像id

image.png

五、配置

1、JDK配置

在系统管理-全局工具配置页面下拉,找到JDK 安装,点击新增JDK
image.png
输入别名和JAVA_HOME

/usr/local/java

image.png

2、maven配置

在系统管理-全局工具配置页面下拉,找到Maven 安装,点击新增Maven
image.png
输入别名和MAVEN_HOME

/usr/local/maven

image.png
点击保存
3、上传无法下载的jar包到maven文件夹
在我们项目中有2个jar包下载通过阿里云下载不下来,分别是com.kingbase8和mobset.smsSDK,提前将这俩包上传到我们服务器的maven仓库/usr/local/maven/repository
image.png
image.png

3、ssh配置

在系统管理-系统配置页面中,拉到最下面找到Publish over SSH栏
image.png
依次输入密码、名称、地址、用户名,然后点击Test Configuration

image.png
显示Success表示配置成功
image.png

4、NodeJS配置

在系统管理-全局工具配置页面下拉,找到Maven 安装,点击新增Maven
image.png
点击安装NodeJS
image.png
按照如下配置自动安装
:::info
版本:14.9.0
Global npm packages to install:6.14.8
:::
image.png

六、后端项目构建

1、点击新建任务

image.png
输入项目名(自定义即可),选择构建一个maven项目
image.png

2、git配置

将我们dcim的git地址粘贴上来,注意得是http的,然后点击添加
在这里插入图片描述

在弹出页面输入我们的用户名和密码,点击添加
在这里插入图片描述

添加成功后在Credentials选择下拉,选中我们刚刚添加的账号
在这里插入图片描述

选择后报红的“无法连接仓库”相关提交将会小时
在这里插入图片描述

再修改分支
在这里插入图片描述

3、构建前配置

设置环境变量,将我们安装的java8作为默认的java环境。因为该jenkins镜像使用的是2.415版本,默认的java版本为11,但是我们的项目用的是java8,所以需要专门指定一下。
image.png

#设置环境变量,将我们安装的java8作为默认的java环境。因为该jenkins镜像使用的是2.415版本,默认的java版本为11,但是我们的项目用的是java8,所以需要专门指定一下。
export JAVA_HOME=/usr/local/java

image.png

4、构建配置

在Build中添加Goals and options

clean package -Dmaven.test.skip=true

image.png
如果想要构建单独的模块

5、构建后配置

这里选择Run only if build succeeds,然后添加执行shell
image.png

# 创建jar包的保存文件夹
mkdir -p /root/jar
#将构建后的jar包保存到该文件夹下
find /var/jenkins_home/workspace/dcim/ -name '*.jar' -exec cp {} /root/jar \;

image.png

6、ssh上传到指定服务器

仍然在Post Steps点击添加,并选择 Send files or execute commands over SSH
image.png
按照如下进行配置
:::info
Transfer Set Source files:**/*.jar
Remote directory:jar/
:::

image.png

7、归档功能配置

归档功能能让我们在部署成功后直接在页面上下载jar包,非常的方便
在页面最下面找到构建后操作栏,点击增加构建后操作步骤选项
image.png
弹出选择框中选择归档成品选项
image.png
在用于存档的文件栏输入如下内容,并点击保存按钮。

**/*.jar

image.png
至此配置全部完成。

8、构建操作

回到首页,对任务进行构建操作
image.png

9、查看日志

点进任务中,点击左侧的构建列表标号
image.png
点击控制台输出查看
image.png

10、页面下载

在首页打开dcim
image.png
在页面上点击对应的jar包可以进行下载
image.png

11、远程服务器下载

连接我们配置的远程服务器,比如我配置的192.168.0.41
image.png
打开配置的文件夹
image.png
在对应的模块里面就有各自的jar包
image.png

七、前端项目构建

1、新建任务

在首页点击新建任务
image.png
自定义一个任务名称,下面选择构建一个自由风格的软件项目
image.png

2、git配置

输入如下的前端构建地址,选择有权限的用户,这里举例比如前端分支默认是master
在这里插入图片描述

3、构建环境配置

在构建环境配置中选择Provide Node & npm bin/ folder to PATH,在弹出的下方选择我们自动安装的14.9.0版本
image.png

4、构建配置

在构建设置里面点击新增,选择执行shell,输入如下命令

node -v
npm -v
npm install
NODE_OPTIONS=--max-old-space-size=4096 npm run build

image.png
点击执行即可完成

5、ssh上传到指定服务器

继续点击新增按钮,选择 Send files or execute commands over SSH
image.png
上传到指定路径
image.png

6、归档功能配置

在页面最下面找到构建后操作栏,点击增加构建后操作步骤选项
image.png
弹出选择框中选择归档成品选项
image.png
在用于存档的文件栏输入如下内容,并点击保存按钮。
image.png

7、构建操作

回到首页,对任务进行构建操作
image.png

8、查看日志

点进任务中,点击左侧的构建列表标号
image.png

9、页面下载

在首页打开dcim-front,点击工作空间
image.png
进入dist文件夹下,点击右下角的打包下载全部文件
image.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第四代可燃气体监测仪监测场景有哪些?

随着城市化进程的加速&#xff0c;燃气作为一种重要的能源在每个城市都得到了广泛的应用。然而燃气泄漏所引发的安全问题也日益增加&#xff0c;为了保障燃气安全并防止泄漏事故的发生&#xff0c;可燃气体监测仪在其中发挥着重要的作用。可燃气体监测仪适用于甲烷气体浓度监测…

解决(error) ERR Errors trying to SHUTDOWN. Check logs.问题~

该问题出现在我在使用shutdown关闭redis服务器时&#xff0c;出现该问题的原因是由于配置文件的日志文件位置未配置或者缺少日志文件 我自己出现该问题是因为缺少日志文件&#xff0c;解决步骤如下所示&#xff1a; 第一步&#xff1a;在该目录下使用touch命令创建日志文件 第…

免费分享一套Springboot+Vue前后端分离的学生网上请假系统,挺漂亮的

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringbootVue前后端分离的学生网上请假系统&#xff0c;分享下哈。 项目视频演示 【免费】springbootvue学生网上请假系统毕业设计 Java毕业设计_哔哩哔哩_bilibili【免费】springbootvue学生网上请假系统…

Java_ArrayList顺序表详解

目录 前言 顺序表 ​编辑 顺序表和数组 ArrayList简介 说明 ArrayList使用​编辑 ArrayList常见操作 ArrayList实现二维数组 ArrayList的遍历 ArrayList的扩容机制 总结 前言 一个高端的程序员,往往都是数据结构学的很好,判断一个程序的优劣也是看数据结构学的好与坏.…

【iApp源码】最新多功能无需服务器软件库源码

源码介绍&#xff1a; 多功能无需服务器的软件库源码&#xff0c;只需在理想后台添加一个后台应用和一个文档即可 安装教程&#xff1a; 1.用浏览器打开理想后台地址 http://apps.xiaofei.run/user/ 2.没有账号的话就注册一个&#xff0c;免费使用 3.登录上去&#xff0c;然后…

硬件开发笔记(十四):RK3568底板电路LVDS模块、MIPI模块电路分析、LVDS硬件接口、MIPI硬件接口详解

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/134634186 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

球机实现飞机追踪

目录 1. 背景2. 实现步骤2.1 飞机识别2.2 计算目标与球机中心的偏离角度2.2.1 获取球机视场角2.2.2 计算偏离角度 2.3 计算角速度2.4 将角速度映射到球机转速挡位 1. 背景 球机本身带有一些跟踪算法&#xff0c;比如&#xff1a;人员跟踪、车辆跟踪&#xff0c;比较有限。如果…

函数递归。

文章目录 前言一、什么是递归二、递归的限制条件三、递归举例1.求n的阶乘2. 举例2&#xff1a;顺序打印一个整数的每一位 四、递归的优劣总结 前言 不多废话了&#xff0c;直接开始。 一、什么是递归 递归是学习C语言函数绕不开的⼀个话题&#xff0c;那什么是递归呢&#xf…

linux添加_管理_查看磁盘

6.2.1 添加磁盘 关闭虚拟机 》》编辑虚拟机设置》》硬盘》》5G 6.2.2 管理磁盘流程 分区》》格式化/文件系统》》挂载 隔间 分格子 加入口/目录 6.2.3 查看磁盘信息 ll /dev/sd* ​ brw-rw---- 1 root disk 8, 0 Oct 17 2023 /dev/sda brw-rw---- 1 roo…

TA-Lib学习研究笔记(九)——Pattern Recognition (4)

TA-Lib学习研究笔记&#xff08;九&#xff09;——Pattern Recognition &#xff08;4&#xff09; 最全面的形态识别的函数的应用&#xff0c;通过使用A股实际的数据&#xff0c;验证形态识别函数&#xff0c;用K线显示出现标志的形态走势&#xff0c;由于入口参数基本上是o…

Linux库之动态库静态库

一、什么是库&#xff08;Library&#xff09; 二、库的分类 三、静态库、动态库优缺点 四、静态库的制作和使用 五、动态库的制作和使用 SO-NAME–解决主版本号之间的兼容问题 基于符号的版本机制 共享库系统路径 共享库的查找过程 有用的环境变量 gcc 编译器常用选项 Linux共…

小航助学题库白名单竞赛考级蓝桥杯等考scratch(12级)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09; 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;

基于openEuler20.03安装openGauss5.0.0及安装DBMind

基于openEuler20.03安装openGauss5.0.0及安装DBMind 一、环境说明二、安装部署三、问题及解决 一、环境说明 虚拟机&#xff1a;VirtualBox操作系统&#xff1a;openEuler20.3LTS &#xff08;x86&#xff09;数据库&#xff1a;openGauss5.0.0 (x86)DBMind&#xff1a;dbmind…

并发集合框架

目录 前言 正文 1.集合框架结构 2. ConcurrentHashMap &#xff08;1&#xff09;验证 HashMap 不是线程安全的 &#xff08;2&#xff09;验证 Hashtable 是线程安全的 &#xff08;3&#xff09;验证 Hashtable 不支持并发 remove 操作 &#xff08;4&#xff09…

加密算法有哪几种类型?

加密算法是用于将原始信息转换为不可读形式的算法&#xff0c;以保护数据的安全性和隐私性。根据加密算法的不同&#xff0c;可以将它们分为以下几种类型&#xff1a; 对称加密算法&#xff1a;这种类型的算法使用相同的密钥进行加密和解密。也就是说&#xff0c;发送方和接收方…

装修风格及要求

水电改造 报价&#xff1f; 电线 3C认证国标BV线&#xff08;非BVR&#xff09;&#xff0c;电线上有厂名&#xff0c;买足百米的 厨卫空调4平方线普通插座2.5平方线冰箱2.5平方线照明2.5平方线入户主线6平方或10平方 地面电线点对点&#xff0c;线和线管连接处要有锁扣 品…

STM32(DMA、DHT11)

1、DMA&#xff08;数据的搬运工&#xff09; DMA&#xff0c;全称为&#xff1a;Direct Memory Access&#xff0c;即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输&#xff0c;也没有中断处理方式那样保留现场和恢复现场的过程&#xff0c;通过硬件为 RAM 与 I/O 设备开…

STM32开发基础知识之位操作、宏定义、ifdef条件编译、extern变量申明、typedef类型别名、结构体

一、引言 本文将对STM32入门开发的基本C语言基础知识进行回顾和总结&#xff0c;一边学者在开发过程中能较顺利地进行。主要包括位操作、define宏定义、ifdef条件编译、extern变量申明、typedef类型别名、结构体等基本知识。 二、基础C语言开发知识总结 &#xff08;一&…

25、pytest的测试报告插件allure

allure简介 在这里&#xff0c;你将找到使用allure创建、定制和理解测试报告所需的一切。开始让你的测试沟通更清晰&#xff0c;更有影响力。 Allure Report是一个实用程序&#xff0c;它处理由兼容的测试框架收集的测试结果并生成HTML报告。 安装allure 1、确保安装了Java…

java实验:数据库应用(idea+mysql+php)设计用户注册和登录

设计用户注册和登录界面&#xff0c;实现用户注册和登录操作。 设计用户注册/登录界面;使用工具在MySQL中创建user表&#xff0c;包括学号、姓名、密码、专业、班级&#xff1b;实现注册操作&#xff1a;在user表中插入一条新纪录&#xff0c;但学号不能重复&#xff1b;实现登…