CI/CD—Jenkins、Maven安装

server/2025/3/13 23:12:06/

Jenkins简介 

Jenkins 是一款广泛使用的开源持续集成和持续交付(CI/CD)工具,以下是对它的详细介绍:

基本信息

  • 起源与发展:Jenkins 最早起源于 Hudson 项目,后来从 Hudson 项目中分离出来独立发展。自 2011 年正式成为独立项目后,Jenkins 凭借其强大的功能和活跃的社区支持,迅速成为全球最受欢迎的 CI/CD 工具之一,在软件开发领域得到了广泛的应用和推广。
  • 主要功能:核心功能是持续集成,它可以定期自动从代码仓库拉取最新代码,然后执行构建、测试等一系列任务。并且支持持续交付和持续部署,能将构建好的软件自动部署到测试环境或生产环境,实现软件的快速迭代和交付。还提供了丰富的插件扩展机制,通过安装各种插件,可以与众多工具和平台集成,如代码仓库 Git、Subversion,测试框架 JUnit、TestNG,容器平台 Docker 等,满足不同项目的多样化需求。

特点

  • 高度可扩展性:拥有大量的插件,涵盖了从代码管理、构建工具、测试框架到部署工具等各个方面。用户可以根据具体项目需求,轻松安装和配置插件,扩展 Jenkins 的功能,使其能够适应不同技术栈和开发流程的项目。
  • 多平台支持:可以在多种操作系统上运行,包括 Windows、Linux、Mac OS 等。这使得它能够很好地适配不同的开发和运维环境,无论团队使用何种操作系统,都能方便地部署和使用 Jenkins。
  • 易于配置和使用:提供了直观的 Web 界面,用户通过浏览器即可方便地进行各种配置和操作。在 Web 界面中,用户可以轻松创建和管理任务(Jobs),配置构建步骤、触发条件、环境变量等,无需编写复杂的脚本或命令,降低了使用门槛。
  • 强大的社区支持:拥有庞大且活跃的社区,这意味着用户在使用过程中遇到问题时,能够很容易地在社区中找到解决方案、获取相关文档和教程,也可以参与社区的讨论和贡献,推动 Jenkins 的不断发展和完善。

应用场景

  • 软件开发流程集成:在软件开发的整个生命周期中,Jenkins 可以与开发、测试、运维等各个环节的工具和流程紧密集成。例如,在开发阶段,它可以与代码编辑器集成,实时检测代码提交并触发构建;在测试阶段,能与各种测试工具配合,自动执行单元测试、集成测试等;在运维阶段,可与部署工具结合,实现自动化部署。
  • 多项目管理与协作:对于拥有多个项目的团队或企业,Jenkins 可以统一管理所有项目的 CI/CD 流程。通过创建不同的任务和视图,对每个项目进行独立配置和管理,同时又能在一个平台上进行整体监控和调度,方便团队成员之间的协作和沟通。
  • 持续部署与自动化运维:Jenkins 能够实现软件的持续部署,将构建好的应用程序自动部署到生产环境中,减少人工干预,提高部署效率和准确性。配合自动化运维工具,还可以实现服务器的自动配置、环境搭建等任务,提升整个运维过程的自动化水平。

Maven 简介

Maven 是一个基于项目对象模型(POM,Project Object Model)的项目管理和构建自动化工具,由 Apache 软件基金会开发。它主要用于 Java 项目,但也可以用于其他语言的项目。Maven 的核心功能和优势体现在以下几个方面:

  • 依赖管理:Maven 能够自动下载项目所需的依赖库,并处理依赖之间的版本冲突。开发者只需在项目的 POM 文件中声明所需的依赖,Maven 会从中央仓库或其他指定的仓库中下载这些依赖。
  • 项目构建:Maven 定义了一套标准的项目构建生命周期,包括清理、编译、测试、打包、部署等阶段。通过执行简单的命令,开发者可以完成整个项目的构建过程,保证构建过程的一致性和可重复性。
  • 项目管理:Maven 提供了统一的项目结构和配置文件(POM.xml),使得项目的管理和维护更加方便。团队成员可以根据 POM 文件快速了解项目的依赖、插件和构建配置等信息。

Maven 使用方法

1. 安装 Maven

  • 下载:访问 Maven 官方网站(Download Apache Maven – Maven),下载适合你操作系统的二进制发行版。
  • 解压:将下载的压缩包解压到指定目录,例如 C:\apache-maven-3.8.6(Windows)或 /usr/local/apache-maven-3.8.6(Linux)。
  • 配置环境变量
    • Windows:在系统环境变量中添加 MAVEN_HOME 变量,值为 Maven 的安装目录,然后在 Path 变量中添加 %MAVEN_HOME%\bin
    • Linux:编辑 ~/.bashrc 或 /etc/profile 文件,添加以下内容:
export MAVEN_HOME=/usr/local/apache-maven-3.8.6
export PATH=$PATH:$MAVEN_HOME/bin

保存文件后,执行 source ~/.bashrc 或 source /etc/profile 使配置生效。

  • 验证安装:打开终端或命令提示符,执行 mvn -version 命令,如果显示 Maven 的版本信息,则说明安装成功。

2. 创建 Maven 项目

  • 使用命令行创建:打开终端,执行以下命令创建一个简单的 Java 项目:
mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
  • groupId:项目的组 ID,通常是公司或组织的域名倒序,如 com.example
  • artifactId:项目的唯一标识符,如 my-project
  • archetypeArtifactId:项目的原型,maven-archetype-quickstart 是一个简单的 Java 项目原型。
  • interactiveMode=false:表示不使用交互式模式。
  • 使用 IDE 创建:大多数集成开发环境(如 IntelliJ IDEA、Eclipse)都支持创建 Maven 项目。在 IDE 中选择创建 Maven 项目,按照向导填写 groupIdartifactId 等信息即可。

3. 配置 POM 文件

POM 文件(pom.xml)是 Maven 项目的核心配置文件,以下是一个简单的 POM 文件示例:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-project</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- 添加项目依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency></dependencies><build><plugins><!-- 配置编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>
  • <dependencies>:用于声明项目的依赖,每个 <dependency> 元素包含 groupIdartifactId 和 version 等信息。
  • <build>:用于配置项目的构建过程,包括插件的使用。

4. 执行 Maven 命令

  • 清理项目:执行 mvn clean 命令,删除项目中的编译输出文件,如 target 目录。
  • 编译项目:执行 mvn compile 命令,将项目的源代码编译为字节码文件。
  • 运行测试:执行 mvn test 命令,运行项目中的单元测试用例。
  • 打包项目:执行 mvn package 命令,将项目打包为 JAR 或 WAR 文件。
  • 安装项目到本地仓库:执行 mvn install 命令,将项目打包并安装到本地 Maven 仓库,以便其他项目可以引用。
  • 部署项目到远程仓库:执行 mvn deploy 命令,将项目打包并部署到远程 Maven 仓库。

通过以上步骤,你可以使用 Maven 来管理和构建 Java 项目。在实际开发中,你可以根据项目的需求,进一步配置 POM 文件,添加更多的依赖和插件。

一、环境准备

1、机器资源

IP内存CPU磁盘空间操作系统安装目录
192.168.72.1318G4核80GCentOS 7.9/opt/devops

二、安装Maven

去官网下载安装包:Download Apache Maven – Maven

1、解压安装包

tar -zxvf apache-maven-3.8.6-bin.tar.gz
mv apache-maven-3.8.6 maven

2、配置环境变量

2.1、配置环境变量

#编辑环境变量
vim /etc/bashrc
MAVEN_PATH=/opt/devops/maven
export PATH=$PATH:${MAVEN_PATH}/bin#加载环境变量
source /etc/bashrc#验证
echo $PATH 

2.2、检查环境变量是否生效

mvn -v

 

3、修改maven的仓库地址

vim /opt/devops/maven/conf/settings.xml
#在159行插入如下内容<mirror>  <id>alimaven</id>  <name>aliyun maven</name>  <url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>          </mirror>

三、安装JDK17

因为Jenkins版本需要这里我们安装JDK17

1、下载JDK17

wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1+1/OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz

2、解压安装包

tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz
mv OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz java

3、配置环境变量

#编辑环境变量
vim /etc/bashrc
JAVA_PATH=/opt/devops/java
export PATH=$PATH:${JAVA_PATH}/bin#加载环境变量
source /etc/bashrc#验证
echo $PATH 

验证:

四、安装Jenkins

下载Jenkins:War Jenkins Packages

1、 运行Jenkins.war程序

nohup java -jar jenkins.war >/dev/null 2>&1 &

 

 

2、Jenkins初始化

 2.1、 浏览器上输入:http://192.168.72.131:8080/

2.2、根据截图中提示的密码文件查看初始密码并进行登录

 2.3、选择安装推荐的插件

2.4、 创建用户

参考资料:

jdk11版本安装:Linux安装openJDK11 - java_my_skill - 博客园

jdk下载链接:Java Downloads | Oracle 中国


http://www.ppmy.cn/server/174742.html

相关文章

网络安全之tcpdump工具

引言 wireshark是一款非常不错的抓包软件&#xff0c;在图形化界面占绝对统治地位&#xff1b;尽管其在字符界面下有些许选项可供使用&#xff0c;但终究不太方便&#xff0c;下面我再介绍一款NB的终端抓包工具 tcpdump 1、混杂模式 linux的网卡有混杂模式一说&#xff0c;当开…

CUDA编程之OpenCV与CUDA结合使用

OpenCV与CUDA的结合使用可显著提升图像处理性能。 一、版本匹配与环境配置 CUDA与OpenCV版本兼容性‌ OpenCV各版本对CUDA的支持存在差异&#xff0c;例如OpenCV 4.5.4需搭配CUDA 10.0‌2&#xff0c;而较新的OpenCV 4.8.0需使用更高版本CUDA‌。 需注意部分模块&#xff08;…

Python实现网络通信:Socket模块与TCP/IP协议全解析

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

【web前端开发】HTML排版标签、HTML语义化标签、常用的文本标签

1、HTML排版标签 标签名 标签含义 单/双标签 h1~h6 …

批量将 Excel 转换 PDF/Word/CSV以及图片等其它格式

Excel 格式转换是我们工作过程当中非常常见的一个需求&#xff0c;我们通常需要将 Excel 转换为其他各种各样的格式。比如将 Excel 转换为 PDF、比如说将 Excel 转换为 Word、再比如说将 Excel文档转换为图片等等。 这些操作对我们来讲都不难&#xff0c;因为我们通过 Office 都…

Kubernetes开发环境minikube | 开发部署apache tomcat web集群应用

minikube是一个主要用于开发与测试Kubernetes应用的运行环境&#xff0c;本文主要描述在minikube运行环境中部署J2EE tomcat web应用。 单节点Node多Pod实例部署 如上所示&#xff0c;在minikube运行的Linux部署环境中启动单节点Node 如上所示&#xff0c;在minikube的容器环境…

GitHub上传项目

总结&#xff08;有基础的话直接执行这几步&#xff0c;就不需要再往下看了&#xff09;&#xff1a; git init 修改git的config文件&#xff1a;添加:[user]:name你的github用户名 email你注册github的用户名 git branch -m master main git remote add origin 你的URL gi…

PHPCMS V9 登录加密改造

要改造 phpcms 的后台登录&#xff0c;使其前端使用加密方式提交&#xff0c;后端解密&#xff0c;你可以采用 RSA 非对称加密 或 AES 对称加密 方式来增强安全性。 方案设计 前端加密 生成公私钥对&#xff08;推荐使用 RSA&#xff09;。前端使用公钥加密密码&#xff0c;然…