对于Java程序,Jenkins需要使用构建工具,如maven、ant等,其中maven比较流行。这里就用maven实现Java应用的部署。
1 GitLab准备Java代码
2 部署Tomcat并配置
apt-get -y install tomcat9 tomcat9-admin
cp -r /usr/share/tomcat9-admin/* /var/lib/tomcat9/webapps/
打开/var/lib/tomcat9/conf/tomcat-users.xml,做如下配置:
#添加下面三行,创建用户并授权。manager-script为远程脚本执行权限
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
打开/var/lib/tomcat9/webapps/manager/META-INF/context.xml,做如下配置:
#注释下面行。默认只能127.0.0.1本机访问,注释掉后就能远程访问
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
之后重启tomcat9
3 安装maven和tomcat插件
Maven插件可以实现maven风格的任务
Deploy to container插件实现连接tomcat
4 Jenkins服务器安装maven和配置镜像加速
apt-get -y install maven
打开/etc/maven/settings.xml文件,做如下配置:
#在<mirrors>…</mirrors>之间添加如下内容
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
查看相关变量值
5 Jenkins全局工具配置jdk和maven
6 创建tomcat的全局凭据
根据tomcat的用户权限配置,创建jenkins连接tomcat的用户和权限
7 创建任务
输入maven的编译选项clean package -Dmaven.test.skip=true