Maven是一个项目管理工具,可用于构建和管理各种项目,例如JAVA、C#、Ruby、Scala等,利用一个中央信息片断实现管理一个项目的构建、报告和文档等步骤。
安装Maven
下载软件包并解压至指定目录,然后配置系统环境变量即可,以下是yum安装示例:
# 安装Maven/Java # yum -y install java yum -y install maven # 查看版本命令 mvn -v
目录说明
目录 | 说明 |
${basedir} | 存放pom.xml及全部子目录 |
${basedir}/src/main/java | 项目的java源代码 |
${basedir}/src/main/resources | 项目的资源,如:property文件、springmvc.xml |
${basedir}/src/test/java | 项目的测试类,如:Junit代码 |
${basedir}/src/test/resources | 测试用的资源 |
${basedir}/src/main/webapp/WEB-INF | Web应用文件目录,项目信息,如:web.xml、本地图片、jsp视图页面 |
${basedir}/target | 打包输出目录 |
${basedir}/target/classes | 编译输出目录 |
${basedir}/target/test-classes | 测试编译输出目录 |
Test.java | Maven只会自动运行符合该命名规则的测试类 |
~/.m2/repository | Maven默认的本地仓库目录位置 |
配置环境变量
实际生产环境中,并不像yum安装这么简单,往往需要配置多个指定版本的Java和Maven,每添加新版本,则需要在Jenkins中添加相应的配置。
基本环境变量
通过编译安装JAVA和Maven需要修改环境变量,编辑/etc/profile文件,添加类似如下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre export MAVEN_HOME=/usr/share/maven export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
执行“sorce /etc/profile”使配置生效。
Jenkins系统全局变量
进入Manage Jenkins→Config System→Global Properties→Environment variables,新增三个环境变量:
变量名 | 变量值 |
JAVA_HOME | JAVA安装目录,例:/usr/lib/jvm/java-1.8.0 |
M2_HOME | MAVEN安装目录,例:/usr/share/maven |
PATH+EXTRA | MAVEN的bin目录,例:$M2_HOME/bin |
Jenkins工具环境变量
进入Manage Jenkins→Global Tool Configuration→JDK设置页面,新增JDK配置:别名一般使用Java+版本号、JAVA_HOME所在路径。
进入Manage Jenkins→Global Tool Configuration→Maven设置页面,新增Maven配置:别名一般使用Maven+版本号、MAVEN_HOME所在路径。
如果只有一个版本,以上配置可以修改为使用Jenkis全局变量。
配置Maven仓库
将默认仓库地址修改为阿里云私服地址,编辑/etc/maven/settings.xml文件,添加如下内容:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" ... <localRepository>/root/repo</localRepository> ... <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云Maven仓库</name> <url>https://maven.aliyun.com/repository/public/</url> </mirror> </mirrors> ...
常用命令
命令 | 说明 |
mvn archetype:generate | 创建Maven项目 |
mvn clean | 清除项目目录中的生成结果 |
mvn clean package -Dmaven.test.skip=true | 清除以前的包后重新打包,跳过测试类 |
mvn compile | 编译源代码 |
mvn deploy | 发布项目 |
mvn eclipse:eclipse | 生成eclipse项目文件 |
mvn install | 在本地Repository中安装jar |
mvn package | 根据项目生成的jar |
mvn site | 生成项目相关信息的网站 |
mvn test-compile | 编译测试源代码 |
mvn test | 运行应用程序中的单元测试 |
mvnjetty:run | 启动jetty服务 |
mvntomcat:run | 启动tomcat服务 |
测试代码构建
在项目中配置构建触发器,添加一个构建步骤“Execute shell”,输入命令:
mvn clean package
保存后返回项目,进行构建,查看输出的日志,最终显示SECCUSS表示成功,制品包默认在/var/lib/jenkins/workspace/目录中。
原创文章禁止转载:技术学堂 » 自动化运维持续集成(CI)和持续发布(CD)系列·Maven