您的位置:首页 > 运维架构 > Tomcat

自动化集成项目 jenkins+git+maven+tomcat

2017-04-27 08:37 573 查看

前情



HelloWord是我一个eclipse的maven项目,可以通过 mvn install 成 HelloWord-0.0.1-SNAPSHOT.war

tomcat启动会自动运行webapps下的**.war文件

服务端是CentOS7系统

CentOS7装2个tomcat ,一个跑jenkins端口为8080 一个跑HelloWord端口为80

ps:实际开发分开装不同服务器,大三实习生资源有限,服务器是阿里云学生云翼计划学生机,感谢阿里云

概要

一. 上传HelloWord到GitLab

二. 配置jdk,maven,git

三. 配置jenkins,jenkins新建maven项目源码获取为GitLab的HelloWord

**.war通过shell脚本发送到Tomcat-HelloWord目录启动tomcat

正文

一. 上传GitLab

1.把你ssh公钥添加到GitLab上方便上传和下载



2 创建并上传Helloword

二. 搭建环境

1. 安装软件

yum list java* 查看java相关版本
yum install java__ 版本较多选择安装对应版本
yum install git 安装git
yum install maven  安装maven

2.配置环境变量

vim /etc/profile




3.检查是否安装成功

java -version
git --version
mvn -version

三. jenkins

1.下载jenkins 的Centos版本 https://jenkins.io/download/

2.放入Ceontos-Jenkins的webapps目录

3.进入tomcat/bin 执行sh startup.sh 启动tomcat

4.修改Centos-HelloWord的端口为80

5.修改Connector端口使2个tomcat 不冲突

6.开启防火墙80和8080端口

7.win7访问http://120.*.*.*:8080/jenkins/选择默认安装

8.系统管理->插件管理 

分别安装GitLab Plugin,Maven Integration plugin,Publish Over SSH,SSH plugin插件

9.生成服务器rsa  写入authorized_keys 时间ssh免密连接

10.系统管理->系统设置

点击test 出现success为成功



11.系统管理->Global Tool Configuration

告诉jenkins你的jdk,git,maven装在哪







12.新建mavne项目

源码管理为来自git

构建触发器H/3 * * * *   3分钟检查gitlab源码变化,有则拉取

Build 拉取之后执行 mvn clean ,mvn install 命令生成*.war包

添加Add post-build step 中Execute shell

 把生成的文件改名成server.war 发送到服务器/opt/war/目录下

添加Add post-build step 中Send files or execute commands over SSH

执行目标服务器的/opt/sh/publish.sh脚本 把server.war 放入Centos-HelloWord的webapps下

ps:Execute shell和publish.sh 已贴图

13立即构建

访问项目出现下图过 修改源码 3分钟后 再次访问 出现变化则搭建成功



三-12贴图









mv ~/.jenkins/workspace/HelloWord/target/HelloWord-0.0.1-SNAPSHOT.war
~/.jenkins/workspace/HelloWord/target/server.war

scp ~/.jenkins/workspace/HelloWord/target/server.war
root@120.*.*.*:/opt/war/




export JAVA_HOME=/usr/java/jdk1.8.0_131
PROJECT="server"

#shutdown tomcat
/usr/tomcat/tomcat-service/bin/shutdown.sh

echo "tomcat shutdown"

#publish server 清除原有文件
rm -rf /usr/tomcat/tomcat-service/webapps/${PROJECT}
rm -rf /usr/tomcat/tomcat-service/webapps/${PROJECT}.war
#复制对应的tomcat
cp /opt/war/${PROJECT}.war /usr/tomcat/tomcat-service/webapps/${PROJECT}.war

#延迟启动,给文件复制时间
sleep 3

#start tomcat
/usr/tomcat/tomcat-service/bin/startup.sh

echo "tomcat startup"


===============================CentOS命令笔记==========================================

netstat -lntp #查看监听(Listen)的端口
netstat -antp #查看所有建立的TCP连接
firewall-cmd --state #查看防火墙状态
systemctl start firewalld.service #开启防火墙
systemctl restart iptables.service #重启防火墙使配置生效
ssh-keygen -t rsa #生成ssh公私钥
cat id_rsa.pub >> authorized_keys #写入要连接服务器公钥,实现不同服务器免密连接

===============================CentOS命令笔记==========================================

如果有什么问题,别放在心里,说出来,就算你说了我也不知道,哈哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: