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

Jenkins安装、插件下载及构建环境配置详解

Jenkins简介

1.1 简介

Jenkins 是一个基于Java开发的开源持续集成工具,它提供了一个开放且易用的软件平台,主要用于自动化构建、测试和部署软件项目,以实现持续集成(CI)和持续交付/部署(CD)。

自动化构建:Jenkins能够自动从版本控制系统中拉取最新的代码,并根据项目配置的构建脚本或命令进行编译和构建;

自动化测试:Jenkins能集成各种测试工具和框架,如JUnit、Selenium等,自动运行测试并生成测试报告;

自动化部署:如果测试通过,Jenkins还能将构建好的软件包自动部署到目标环境中,如测试服务器、生产服务器等;

持续集成(CI):持续集成是一种软件开发实践,支持开发人员频繁地将代码集成到主干分支。在每次集成都通过自动化的构建(包括编译、打包、部署、测试)来验证,从而尽早地发现和修复错误;

持续交付/部署(CD):持续部署(Continuous Deployment)是在持续集成的基础上,自动将通过测试的代码部署到生产环境。持续交付(Continuous Delivery)则是指将集成后的代码部署到更贴近真实运行环境的类生产环境中,以便进行更多的测试,如果代码没有问题,可以继续手动部署到生产环境;

1.2 工作流程

持续集成(CI) 工作流程

1)开发人员提交代码到版本控制系统(如 git );

2)Jenkins检测到代码变更后,自动触发构建任务;

3)Jenkins执行构建脚本(如Maven构建),生成可部署的软件包;

4)Jenkins执行单元测试和其他自动化测试,验证新代码与原有代码的集成情况;

5)根据测试结果,Jenkins生成构建报告,并通过邮件、RSS等方式通知相关人员;

持续交付/部署(CD)工作流程

1)Jenkins在持续集成阶段完成构建和测试后,生成可部署的软件包;

2)Jenkins将软件包部署到类生产环境(如Staging环境)中进行更多的测试;

3)测试人员执行手动测试或自动化测试,验证软件包的稳定性和功能正确性;

4)如果测试通过,开发人员或运维人员可以手动将软件包部署到生产环境;

Docker安装Jenkins镜像

2.1 环境准备

1)安装Docker、docker-compose

2.2 Jenkins安装

1)拉取Jenkins镜像

可通过Jenkins官网首页的Download,选择Docker方式,进入Hub的Docker镜像仓库进行下载。但由于外网可能无法访问,可以从国内可用的Docker镜像仓库中下载。如:Docker Hub Search,下载 lts 长期维护版本。

docker pull jenkins/jenkins:2.479.3-lts

2)创建docker-compose.yml

2.1)先创建一个目录,用于存放该yml文件,如/usr/local/docker/jenkins_docker;

2.2)在jenkins_docker目录中,创建data目录,作为jenkins容器和宿主机的数据卷映射目录;

docker-compose.yml的内容如下:

version: '3.1'
services:jenkins:     # docker实例名称image: jenkins/jenkins:2.479.3-lts   # 使用的镜像container_name: jenkins              # docker容器名称ports:                               # 端口映射- 8080:8080                         - 50000:50000                      volumes:                             # 数据卷映射- ./data/:/var/jenkins_home/       # 本机当前地址的data目录,映射到容器的/var/jenkins_home目录

说明:

1)8080端口是Jenkins默认的端口;

2)50000端口主要用于JNLP(Java Web Start)通信。‌ Jenkins使用JNLP协议来启动Java应用程序,而50000端口是JNLP协议所需的端口‌;

3)/var/jenkins_home:默认情况下,Jenkins将其所有数据存储在文件系统的此目录中;

3)启动容器

docker-compose up -d

4)查看日志

docker logs -f jenkins   # 查看jenkins启动的初始密码

密码如果忘记,也可以从jenkins容器的 /var/jenkins_home/secrets/initialAdminPassword 文件中查看。

2.3 登录Jenkins

1)在浏览器中访问Jenkins

http://IP:8080

首次登录使用Jenkins提供的初始密码,如果忘记,在界面有提示密码的位置。

2)选择“选择插件来安装”

3)安装插件,直接点击“安装”即可

在插件安装过程中,可能很多插件会按照失败,即使全部失败也没有关系。后续可在后台管理中根据需要安装插件。

如果插件安装失败,如果一直安装失败,可以重新设置下载地址。修改的文件在容器的/var/jenkins_home/hudson.model.UpdateCenter.xml。由于在docker-compose.yml对该目录做了数据卷映射,所以该文件也在宿主机的 /var/local/docker/jenkins_docker/data目录中。修改的信息如下:

<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url></site>
</sites>

4)创建新用户

插件安装完之后(没安装成功也没有关系,点击下一步进行用户创建),进入用户创建。

5)实例配置

自动识别jenkins的url,点击“保存并完成”即可。

6)进入Jenkins

Jenkins 插件安装

3.1 后台插件管理

1)进入插件管理界面

通过Manage Jenkins菜单,选择Plugins,进入插件管理界面。

2)选择插件,并安装

a)Available plugins:可用未安装的插件列表,可进行搜索,选择要安装的创建。可以搜索Chinese,查找中文插件;

b)Installed plugins:已安装的插件列表;

c)选择要安装的插件后点击“安装”即可;

d)Advanced settings:高级设置;

3.2 高级插件安装

1)从官网后台下载需要安装的插件

输入要下载的插件,进行搜索。

2)下载插件

查找一个合适的版本,下载对应的hpi文件。

3)管理后台安装插件

在插件管理后台,选择“Advanced settings”,选中下载的hpi(如果不下载,直接在url中输入url地址也可以),点击“部署”,进入插件安装流程。

Jenkins Maven 构建环境配置

对于使用Maven构建的Java项目,需要Maven及JDK。

4.1 资料准备

1)下载JDK(以下以1.8为例)、Maven,并上传到服务器;

2)Maven 配置,修改Maven的settings.xml文件,添加阿里仓库地址、配置JDK;

2.1)添加阿里仓库。在<mirrors>标签中添加如下:

<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

2.2)配置JDK,以下以1.8为例。在<profiles>标签中添加如下:

   <profile><id>jdk8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile>

4.2 将Maven和JDK解压到Jenkins容器

在安装Jenkins容器时,将data目录映射到容器的/var/jenkins_home目录,所以只需将Maven和JDK放在data目录即可。本例为/usr/local/docker/jenkins_docker/data目录。

4.3 在Jenkins 后台配置Maven和JDK

1)进入“全局工具配置”

2)Maven和JDK配置

在全局工具配置中,默认可安装或配置JDK、Git、Gradle、Ant、Maven。

在全局工具配置中,除了上面的安装项以外,还可以通过安装插件,扩展更多的功能。如SonarQube Scanner插件,进行代码质量检查。

2.1)JDK安装

a)JDK可自动安装,如果已经下载并上传到Jenkins容器,则取消“自动安装”的选择性,输入jdk的目录;

b)如果输入的目录错误,会自动提示;

2.2)Maven安装

Maven的安装和JDK的安装一样。

结尾

以上为本篇分析的全部内容。

关于本篇内容你有什么自己的想法或独到见解,欢迎在评论区一起交流探讨下吧。

http://www.lryc.cn/news/521531.html

相关文章:

  • ESP32,uart安装驱动uart_driver_install函数剖析,以及intr_alloc_flags 参数的意义
  • Ubuntu把应用程序放到桌面
  • 什么是端口映射
  • 数据结构《MapSet哈希表》
  • 【QT】QComboBox:activated信号和currentIndexChanged信号的区别
  • 【Block总结】ELGCA模块,池化-转置(PT)注意力和深度卷积有效聚合局部和全局上下文信息
  • MERN全栈脚手架(MongoDB、Express、React、Node)与Yeoman详解
  • 基于springboot+vue+微信小程序的宠物领养系统
  • 如何使用策略模式并让spring管理
  • react中hooks之useRef 用法总结
  • 使用 Docker 部署 Java 项目(通俗易懂)
  • 如何在Ubuntu上安装和配置Git
  • FPGA 21 ,深入理解 Verilog 中的基数,以及二进制数与十进制数之间的关系( Verilog中的基数 )
  • 【redis】redis-cli命令行工具的使用
  • 使用Matplotlib显示中文的方法
  • SQL Server2022详细安装教程
  • 家里温度随心控,假期出行更舒适~
  • 压力测试详解
  • 从epoll事件的视角探讨TCP:三次握手、四次挥手、应用层与传输层之间的联系
  • Redis复制(replica)
  • [云讷科技] 用于软件验证的仿真环境
  • 使用 Vite 和 Vue 框架创建组件库
  • 【数据结构学习笔记】19:跳表(Skip List)
  • 【8】深入理解 Go 语言中的协程-从基础到高级应用
  • 深入理解 ECMAScript 2024 新特性:字符串 isWellFormed 方法
  • 算法分析与设计之贪心算法
  • Centos 宝塔安装
  • 蓝桥与力扣刷题(709 转换成小写字母)
  • Redis的过期策略、内存淘汰机制
  • 视觉多模态大模型---MiniMax-vl-01---以闪电般的注意力缩放基础模型