java项目
部署java的maven项目
1.检查插件,新版的jenkins默认就会安装 maven的插件
没有的话手动安装一下。
Maven Integration plugin
2.安装环境
在jenkins的机器上安装 jdk和maven
安装maven
cd /opt
wget https://mirrors.cnnic.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
tar -xzvf apache-maven-3.6.2-bin.tar.gz
mv apache-maven-3.6.2/ maven
vim /etc/profile
export PATH=$PATH:/opt/maven/bin
source /etc/profile
mvn -v
安装完之后
位置 $home/.m2 用户 在当前用户家目录下的.m2 用户
maven 配置文件
/opt/maven/conf/settings.xml 主配置文件
安装jdk
cd /opt
wget https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html sudo vim /etc/profile export JAVA_HOME=/opt/jdk1.8 export JRE_HOME=${JAVA_HOME}/jre export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib source /etc/profile
java -version
配置全局的
配置jdk 和 git 和maven,这个先都会在本机都装好。
新建项目
点击使用mavin项目
进行配置
配置git,前提我们已经将工程代码上传到了git代码库里面。
然后配置build。
pom文件 :Project Object Model,项目对象模型
通过xml格式保存的pom.xml文件。
作用类似ant的build.xml文件,功能更强大,该文件用于maven项目。
pom文件,需要安装实际路径填写。否则会报错
之前我们已经将代码上传到了gitlab上面。 然后我们可以看到pom文件是在 项目工程的java2的目录下面。(java1工程项目的根目录。)
Goals and options 中填写相关maven的指令
clean install -Dmaven.test.skip=true #清除后在安装的意思
这样简单的配置就完成了。发布一下,顺利完成。
查看日志
第一次部署时候,发现会下载许多的文件。这个应该maven自己里面配置的 。
不是完成之后。我们去查看jenkins的 workspace
我们在 workspace 的项目工程里面,有看到 多了一个 target目录。
新的项目,会部署成新的jar包。
jar包是不需要依赖tomcat。我们可以手动执行下。
java -jar testweb-v1.4.jar
可以看到执行结果。
这样我们maven的拉取代码就完成了。
推送
然后我们也可以传到node的机器上面 。 在jenkins 的 Post Steps 里面 进行配置即可。
rsync -avz ./target/testweb-v1.4.jar [email protected]:/data/java
构建完成后。
去node的机器上查看。jar包过来了。
war 项目
在实际的生产中,可能实际是部署的war。会在tomcat中进行运行。 然后我们部署一个war包的项目。
有个现成的github项目 (应该是个公共项目)
https://github.com/efsavage/hello-world-war
我们在jenkins上面,新建一个项目。
在github的 工程里面,获取git库地址
https://github.com/efsavage/hello-world-war
然后进行配置
然后配置pom 和maven指令
注意pom文件的工程中的位置。
配置完成之后进行部署。
部署完成之后,我们上服务查看,jenkins机器的新的项目工程下面的target目录下面会有 war包。
有了war包之后。我们就可以在节点机器上,部署一个tomcat 。然后用这个war包。来跑试试。
1号机器 节点机器(node) | 最终项目发布到这台机器 |
2号机器 jenkins | jenkins的部署,发布 |
3号机器 gitlab | 代码库 |
我们首先在我们的1号 节点机器部署完tomcat, 然后我们将war 包传到这个tomcat的 wabapps 下面。
在jenkins上的配置
这里选择使用shell。
这个可以选择,只在构建成功后在操作。
指令可以jenkins的服务器上面的项目工程下面跑跑,测试下。
rsync -avz --progress ./target/hello-world-war-1.0.0.war [email protected]:/opt/tomcat8/webapps
war位置 node机器(就是tomcat的机器),代码路径。
配置完后,跑一下看看。
跑了成功之后,我们可以看下日志。已经传输成功了。
现在我们去node的机器(就是部署tomcat的机器)上去看看 。
我们去到tomcat下面的webapps中。可以看到 war包已经过来了。
我们启动一下tomcat,会有相关的目录生成。
然后我们使用浏览器访问下。
可以访问。 至此, maven项目 完成了。