前言:这台jenkins服务器的环境是前几篇博客一步步做实验做过来,如果有想做这篇博客的实验的朋友,可以移驾去看一下前几篇博客,另外有看着博客做完的博友,可以在下方留言,证明我做的这些都是对的,有看着博客做不下来的博友,可以留言交流.
实验环境ip说明:
10.0.0.26:gitlab 10.0.0.27:jenkins 10.0.0.28:jdk+tomcat8
1.10.0.0.28部署JDK、Tomcat环境
a.测试环境,直接用openjdk试一下
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz tar xf /root/apache-tomcat-8.5.37.tar.gz -C /usr/local/ cd /usr/local/ mv apache-tomcat-8.5.37/ tomcat
b.准备好JDK+Tomcat环境并且Tomcat能够正常服务后,还需要配置Tomcat的用户文件
vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user name="admin" password="root123456" roles="manager-gui"/>
</tomcat-users>
截图
c.访问10.0.0.8:8080,报错
这是因为context.xml限制了访问ip,只需要配置白名单ip即可,不然默认只允许本地访问,
vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10.0.0.*" />
这里的allow本来不是10.0.0.*网段,而是我的windows本机无线IP-192.168.1.*,重启tomcat后发现无法访问,改成了现在的网段可以访问了,因为这个环境是用虚拟机做的,网络是用NAT配的,所以改成10.0.0.*之后,应该是用这个虚拟网卡去访问虚拟机了.
访问成功页面
2.10.0.0.27创建本地库
先在gitlab上创建project
接下来在命令行操作
cd /home/ wget https://codeload.github.com/94fzb/zrlog/zip/master unzip master cd zrlog-master/ # 这个目录下是有pom.xml文件的 cd /home/ git clone git@10.0.0.26:Linkdood-yw/java-zrlog.git cd java-zrlog/ mv ../zrlog-master/* . git commit -m "first commit" git push -u origin master
3.构建发布任务
检查是否已经安装Maven Integration和Deploy to containe,Maven Integration是用于构建Maven项目的,而Deploy to container则是用于发布远程war包的.
构建job
添加仓库URL
配置build
clean install -D maven.test.skip=true
配置完保存之后,就可以点击立即构建来构建这个maven项目了.
4.发布war包
a.回到项目的配置,在构建后操作那一栏点击"增加构建后操作步骤"
b.Containers选择Tomcat 8.x,Tomcat URL填写要把war包发布到的那台机器的url:
c.Credentials这里需要点击右侧的Add,添加用户名和密码:
这里的账号和密码必须和远程tomcat的conf目录下的tomcat-user.xml中保持一致
截图
d.配置完之后点击保存,构建后发布war包失败
图片中可以清楚地看到,报错都是和TomcatManager有关,tomcat7之后,管理用户必须具有manager-script角色,manager-gui角色是不够的,不然会有错误出现,在tomcat-users.xml文件中添加了该角色之后,构建还是报错,添加了admin-gui之后,可以成功发布,索性多加了两个角色--manager-status、manager-jmx
<role rolename="admin-gui"/> <role rolename="manager-gui"/> <role rolename="manager-status"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <user name="admin" password="root123456" roles="manager-gui,manager-script,manager-status,manager-jmx,admin-gui"/> 有些博客说:发布失败有可能是内存泄漏,找到tomcat路径,用编辑器打开catalina.sh,加一行 JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m,但是修改JAVA_OPTS,在OpenJDK新版本中已经移除了这种方法 OpenJDK 64-Bit Server VM warning: ignoring option PermSize=64M; support was removed in 8.0
e.成功发布
访问:http://10.0.0.28:8080/zrlog-2.1.0/admin
cat /home/java-zrlog/README.md 获取博客登录界面的账号密码admin:123456
参考博客:http://blog.51cto.com/zero01/2074341
参考博客:https://blog.csdn.net/fjl19900121/article/details/80901997