0 参考的maven项目地址:
https://gitee.com/alivv/helloworld?_from=gitee_search
git clone https://gitee.com/alivv/helloworld.git
1 搭建maven
#安装maven
tar xf apache-maven-3.3.9-bin.tar.gz
mv apache-maven-3.3.9 /usr/local/
ln -s /usr/local/apache-maven-3.3.9/ /usr/local/maven
/usr/local/maven/bin/mvn -v
#添加环境变量
vim /etc/profile
export PATH=/usr/local/apache-maven-3.3.9/bin/:$PATh
mvn -v
#测试打包
tar xf hello-world.tar.gz
cd hello-world
mvn package
里面就会有个jar包,可用于发布项目
mvn clean
#所以平常会先清除后打包
mvn clean package
2 创建maven私服nexus
如果不搭建私服,平常将maven仓库改成阿里云的maven仓库即可。 settings.xml
搭建maven私服nexus具体参考:https://www.cnblogs.com/knowledgesea/p/11190579.html
3 java项目(maven) jeesns
项目地址: https://gitee.com/zchuanzhao/jeesns
代码:git clone https://gitee.com/zchuanzhao/jeesns.git
tar xf jeesns.tar.gz
#jeesns项目内容如下图
此时将这些代码上传到gitlab 。
git init
git remote add origin git@192.168.26.137:test/maven.git
git add .
git commit -m "initial commit"
git push -u origin master
回到Jenkins,构建一个maven项目
General
源码管理
Build 。 这里其实就是类似于执行了 mvn clean package
处理报错:设置maven的位置(自定义的) , 全局工具配置 --> Maven --> 新增maven
立即构建
这里构建没问题的话,继续操作
构建设置 --> Post Steps设置
先移动原先webapps下东西到/opt ,然后将jeesns-web.war放到那边的webapps下
然后“立即构建”看效果
4 配置tomcat服务器和数据库
1、安装JDK (略)
2、安装tomcat
3、 安装数据库,26.137 --> mysql 5.7
下载后数据库文件为: jeesns\jeesns-web\database\jeesns.sql
#创建数据库和导入sql语句
mysql -uroot -p -e 'create database jeesns character set utf8 collate utf8_bin;'
mysql -uroot -p jeesns < /root/downloadFile/jeesns.sql
=分割线
如果构建的时候报错ERROR: Failed to parse POMs,
java.io.IOException: Cannot run program “java” (in directory “/var/lib/jenkins/workspace/hellomaven”): error=2, No such file or directory
参考《Jenkins编译过程中出现ERROR_ Failed to parse POMs错误》https://www.cnblogs.com/douyi/p/11584513.html
在全局变量中添加java_home的环境变量即可。
安装插件Deploy to container Plugin
如果不用shell的scp传文件到tomcat下的webapps ,可使用Deploy to container Plugin 。
需要用到Tomcat的用户,所以修改tomcat以下配置,添加用户及权限:
如: apache-tomcat-7.0.105/webapps/manager/META-INF/context.xml
apache-tomcat-7.0.105/conf/tomcat-users.xml ,用户和密码都是:tomcat ,拥有的权限如标签的值。
(在 里面添加下面内容)
<role rolename="tomcat"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
Jenkins配置tomcat用户凭证
类型为 username with password
构建后操作:
也可参考另一篇
https://www.cnblogs.com/forlive/p/12851198.html 《jenkins手动拉取java项目,根据tag,可以回滚》
END