前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『互联网架构』软件架构-电商系统架构(下)(71)

『互联网架构』软件架构-电商系统架构(下)(71)

作者头像
IT架构圈
发布2019-06-11 16:22:47
6150
发布2019-06-11 16:22:47
举报
文章被收录于专栏:IT架构圈

上节从jenkins 和 nexus3 私服做了关联,通过github开放的一个源码,完成了从maven的构建到打包的过程,并上传到私服的私有仓库中。192.168.72.104完成了tomcat的简单下载和运行。这次主要自动化集成通过shell的方式完成从nexus3下载j私有仓库的war,部署到tomcat中。jenkins+nexus3+gogs+tomcat搭建这套环境真心比较麻烦,但是理解了其实不难,搭建后还是一直可以受益的。重点还是需要实践。源码:

(一)tomcat的持续部署设置
  • 准备工作

之前我演示是用的springboot的开源项目,进行部署的,这次在github随便找个开源生成war包的项目进行部署。有2个地方需要进行修改。

1.地址更换(实际开发的使用用gogs上面的)

https://github.com/Zoutao6/examination_system-.git

2.nexus获取上传war包的地址(192.168.73.103)

http://192.168.72.103:8081/service/rest/repository/browse/3rd_part/com/test/example/1.0.0/

http://192.168.72.103:8081/repository/3rd_part/com/test/example/1.0.0/example-1.0.0.war

2.构建后的shell改变(192.168.73.102)

代码语言:javascript
复制
# Dpackaging 修改成 war
# Dfile 修改成上面获取到的/root/.jenkins/workspace/abc-test2/target/Examination_System.war

  mvn deploy:deploy-file -DgroupId=com.test -DartifactId=example -Dversion=1.0.0 -Dpackaging=war -Dfile=/root/.jenkins/workspace/abc-test2/target/Examination_System.war -Durl=http://192.168.72.103:8081/repository/3rd_part/ -DrepositoryId=nexus

3.编写原来的apche-tomcat制作软连接(192.168.73.104)

代码语言:javascript
复制
cd ~
ln -s jdk1.8.0_141/ jdk
ln -s apache-tomcat-7.0.94/ tomcat

4.创建services文件夹,放入脚本

代码语言:javascript
复制
#创建service群,里面可以放很多个tomcat
mkdir services
cd services
#文件上传插件
yum -y install lrzsz
cp -r /root/tomcat/ /root/services/shop-project/
cd /root/services/shop-project/
rm -rf apache-tomcat-7.0.92/ bin BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  README.md  RELEASE-NOTES RUNNING.txt 
# env-set.sh上传bin目录跟shop-project 同级
cd /root/service/bin
rz 
# deploy.sh jenkins.sh pom.sh  tomcat.sh
# 上传到shop-project目录内

4.命令操作

代码语言:javascript
复制
#查看目录文件
ll
#这个文件夹的名称目前是shop-project,可以自行修改
cd shop-project
#针对解压后的脚本增加访问的权限
chmod -R 777 *
cd ..
cd bin
chmod -R 777 *

5.从nexus私服中下载war,启动项目

代码语言:javascript
复制
./jenkins.sh

6.关闭本项目的tomcat

代码语言:javascript
复制
./tomcat.sh stop

7.app-conf

目录主要是为了,在本地环境和服务器环境密码不同,每次下载后,替换里面的配置文件,每次如果开发修改了配置文件,服务器环境也需要对应的修改。

8.shop-project

只是个文件夹名称,可以根据自己的需求来进行修改。

(二)总结

三个关联的文章完成了。 1.gogs的部署,jenkins的部署,nexus的部署。 2.jenkins和nexus之前的关联,通过连接github下载源码,然后讲源码进行打包上传到nexus的指定仓库中。 3.tomcat通过shell脚本的方式下载nexus中的war包。可选择的app-conf替换成服务器的配置文件,shell这块我注释了,可以选择的进行使用。 4.pom.sh 主要是根据配置的方式来下载。 5.新建立的shop-project文件夹都依赖通一个tomcat和jdk,这样方面使用,如果tomcat和jdk更换,只需要删除软连接新建立软连接就可以了。 6.多个项目的话,可以重复的shop-project文件夹,修改文件夹内部的tomcat的conf文件修改端口号,修改里面的pom.sh文件。 7.这套部署方式很方便,一劳永逸。据说唯品会的一些项目都是这样的。

PS:电商系统的集成环境彻底搭建完毕,陆陆续续从虚拟机的搭建,到一个一个服务的部署,服务之前的关联耗时3天时间,总算完成了,下一步咱们继续电商系统的学习。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程坑太多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)tomcat的持续部署设置
  • (二)总结
相关产品与服务
持续部署
CODING 持续部署(CODING Continuous Deployment,CODING-CD)用以管理软件在经过构建之后的发布和部署交付过程,可以无缝对接上游 Git 仓库、制品仓库实现全自动化部署,同时支持 Webhook 等外部对接能力,方便集成各种开发、运维工具。在配以合适的技术架构、运维工具的基础上,可以方便地实现蓝绿发布、灰度发布(金丝雀发布)、滚动发布、快速回滚等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档