我们会分为
【云服务器(申请、配置)】
【域名(申请、备案、配置)】
【源配置】
【线上环境】
利用Linux的shell写一个【自动化发布脚本】,随着项目的演进,我们的项目后续会使用Jenkins做一个持续集成和自动化发布。
这里面有很多需要注意的细节,这里我们仅仅使用shell写一个脚本,达到自动化发布的目的。
【线上验证】
——————————————————————————————————————————————————————
【云服务器的(申请,配置)】
我们使用阿里云服务器(https://www.aliyun.com/)
系统版本 采用 (CentOS 6.8 64bit)
【域名(申请,备案,配置)】
阿里云万网(https://wanwang.aliyun.com/)
如果我们的域名和服务器都用阿里云的,我们备案的流程会比较简单。域名和服务器的绑定也非常好设置。
否则我们就要去配置一些DNS的解析。这样做是为了比较方便,入门也比较简单。
——————————————————————————————————————————————————————
【源配置】
阿里云源配置官网(http://mirrors.aliyun.com) / (https://opsx.alibaba.com/mirror)
——————————————————————————————————————————————————————
【源配置步骤】
【备份】
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
【下载CentOS-Base.repo到/etc/yum.repos.d/】
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
【运行yum makecache生成缓存】
yum makecache
——————————————————————————————————————————————————————
线上环境
【JDK】【Tomcat】【Maven】【Vsftpd】【Nginx】【文件服务器】【MySQL】【Git】【iptables防火墙】
——————————————————————————————————————————————————————
【自动化发布脚本】
echo "===========进入git项目happymmall目录============="
cd /developer/git-repository/mmall
echo "==========git切换分之到mmall-v1.0==============="
git checkout mmall-v1.0
echo "==================git fetch======================"
git fetch
echo "==================git pull======================"
git pull
echo "===========编译并跳过单元测试===================="
mvn clean package -Dmaven.test.skip=true
echo "============删除旧的ROOT.war==================="
rm /developer/apache-tomcat-7.0.73/webapps/ROOT.war
echo "======拷贝编译出来的war包到tomcat下-ROOT.war======="
cp /developer/git-repository/mmall/target/mmall.war /developer/apache-tomcat-7.0.73/webapps/ROOT.war
echo "============删除tomcat下旧的ROOT文件夹============="
rm -rf /developer/apache-tomcat-7.0.73/webapps/ROOT
echo "====================关闭tomcat====================="
/developer/apache-tomcat-7.0.73/bin/shutdown.sh
echo "================sleep 10s========================="
for i in {1..10}
do
echo $i"s"
sleep 1s
done
echo "====================启动tomcat====================="
/developer/apache-tomcat-7.0.73/bin/startup.sh
先清除Maven编译出来的文件,然后进行打包,会打包成一个war文件,然后把Tomcat下面的webapps里面有一个ROOT.war
直接删除掉,
写这个脚本的时候要注意,是否使用ROOT权限;
在创建这些目录的时候,如果是个人权限的话,那你登录这个个人和对应目录是否有对应权限的,删除啊,拷贝啊等
【为什么要删除ROOT.war,而不是发布一个mmall.war呢】
是因为我们要把我们的项目部署在tomcat的根目录下
拷贝编译出来的war包到tomcat下-ROOT.war,就是一个拷贝命令,
把我们mmall项目,target下面的mmall.war拷贝到tomcat下面的webapps下面ROOT.war,直接就重命名了
然后把旧的ROOT文件夹强制删除,
然后关闭tomcat,在shutdown.sh的时候,时间不是很长,10秒是足够了
启动tomcat