Jenkins 通过 maven 构建编译 JAVA 项目环境

时间:2022-01-27 14:32:19
官网下载合适Jenkins版本包;
1、jenkins
http://mirrors.jenkins.io/war-stable/
2、Jdk
curl -L -O http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz
3、JDK SE
http://120.52.72.24/download.oracle.com/c3pr90ntc0td/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz?AuthParam=1500723059_7dfe39db8f8c6b07c5430e2c96d713b0
4、Tomcat
http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz
5、Maven
https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz

二、部署jdk maven tomcat 环境变量;

  1、java 环境变量

/etc/profile

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$java_home/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、maven 环境变量

/etc/profile

export MAVEN_HOME=/use/local/maven
export MAVEN=$MAVEN_HOME/bin
export PATH=$MAVEN:$PATH

3、设置 Jenkins 默认目录 (可选)

cat >> /etc/profile << EOF
export JENKINS_HOME=/opt/jenkins
EOF

4、版本验证;

# source /etc/profile
# mvn -version
# java -version

5、Tomcat 作 Jenkins web服务

下载Jenkins war包直接放置tomcat webapps下启动tomcat

三、【系统设置】-【Global Tool Configuration】 设置所需环境;

JDK 安装    设置JAVA_HOME

Maven 安装  设置 MAVEN_HOME

Jenkins 通过 maven 构建编译 JAVA 项目环境

Jenkins 通过 maven 构建编译 JAVA 项目环境

三、【系统设置】-【管理插件】添加 maven 插件

添加插件

Maven Integration plugin
maven Integration plugin 插件

四、创建一个maven项目

Jenkins 通过 maven 构建编译 JAVA 项目环境

1、Build 默认配置也可

Root POM
pom.xml
Goals and options
clean package

Jenkins 通过 maven 构建编译 JAVA 项目环境

 Maven 常用构建参数

mvn -DskipTests clean package 跳过检测编译

打包:mvn package
编译:mvn compile
编译测试程序:mvn test-compile
清空:mvn clean
运行测试:mvn test
生成站点目录: mvn site
生成站点目录并发布:mvn site-deploy
安装当前工程的输出文件到本地仓库: mvn install

2、构建 jar 包

Jenkins 通过 maven 构建编译 JAVA 项目环境

Jenkins 通过 maven 构建编译 JAVA 项目环境

3、 构建 war 包

Jenkins 通过 maven 构建编译 JAVA 项目环境

Jenkins 通过 maven 构建编译 JAVA 项目环境

3、编译失败;

多是因为 POM.xml问题 和各种MAVEN 仓的jar包依赖 ;根据日志提示检索排查问题;

五、构建后操作步骤:

发布方式 可以使用 ansible  saltstack  或者shell 方式都可以;可以结合自身业务环境定义发布方式;