前情
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命令笔记==========================================
如果有什么问题,别放在心里,说出来,就算你说了我也不知道,哈哈哈