发表于: 2017-09-15 23:34:48
1 817
今天完成的事
今天就干了一件事,写deploy脚本
1。根据甘乐师兄的日报看脚本思路 发现师兄的脚本里面缺少一些东西,有些东西是多余的,不太理解,遂找师兄交流。之后放弃原脚本中 killall svn的语句 因为没有停止svn的必要
2.写出deploy.sh的雏形,包括清除旧项目,从svn检出新项目,打war包,并部署到自定义resin目录,测试后发现脚本运行失败,检查后发现是路径的问题,以及svn检出语句没有配置账号密码
3.仿写出师兄给的真实项目中用的脚本,学习到了利用svn update语句来减少以后真实项目中每天晚上测试新版本的程序的工作量,并且还记录了时间,非常严谨的脚本
4. 重写自己的脚本,完善检出语句,直接指向ptteng中我自己的svn库svn://120.92.4.210/student/task/trunk/liyaheng/task3,并测试。发现maven无法打包的问题。
5.解决maven无法打包的问题,百度查到是因为无法添加依赖,也就是JAR包,后来师兄提醒,因为是maven默认上自己的中央仓库,网络连接问题可能会导致部分jar包无法下载,导致打包失败,于是将自己本地maven仓库配置好公司私服的settings.xml修改一下上传到服务器的maven目录中,再次测试打包成功 之后测试又接口遇到了404的问题
6.寻找测试接口404的原因,刚开始尝试从resin.xml文件更改自定war包路径解决,后来发现这里确实有些小问题,但是在解决过程中发现resin.sh不能直接启动的问题,直接启动会报Unable to access jarfile 试了各种姿势也没有解决,后来找到了两种解决方案: 一 在resin.sh中添加JAVA环境变量和resin环境变量 参考链接:http://linux.chinaunix.net/techdoc/install/2008/12/10/1051681.shtml 二 直接使用全路径启动resin.sh 如:sh /usr/local/resin/bin/resin.sh start
7.接着解决接口404的问题,经过白百般挣扎发现了是自定义war包目录resin无法自动解压,先手动解压springmvc.war,测试之后能成功连上我之前欢迎页面,于是干脆在脚本中加入了解压语句,之后使用脚本能自动部署项目,但是在测试接口时发现程序无法连接数据库的问题
8.经过排查发现是当初重装系统时,重新安装navicat,在创建远程服务器数据库连接时不小心填的是本地的数据库的数据,所以服务器数据库是没有表和数据的,遂直接将自己的数据库转储为sql文件导入到线上DB
事情到这里终于通过了任务3步骤3
最后放上李某写的脚本,仅供参考
#!/bin/bach
#this is deploy for your project
#create at 2017/9/15 by yaheng
echo 清除旧项目文件
rm -rf /usr/local/web-home/run/*
echo 停止resin服务
sh /usr/local/web-home/container/resin/bin/resin.sh stop
echo 删除svn目录下已有项目
rm -rf /usr/local/web-home/svn/*
echo 从svn检出项目
svn checkout svn://120.92.4.210/student/task/trunk/liyaheng/task3 /usr/local/web-home/svn --username liayaheng
echo 项目打包
cd /usr/local/web-home/svn
mvn clean install
cd target
cp springmvc.war /usr/local/web-home/run
echo 解压war包
cd /usr/local/web-home/run
jar -xvf springmvc.war
echo 启动resin服务
sh /usr/local/web-home/container/resin/bin/resin.sh start
exit 0
遇到的问题:一个问题接一个问题的出现,就像割韭菜一样 以上
明天的计划:
学习Nginx
准备小课堂
收获:只能说痛并快乐着,遇到问题的懊恼和解决掉问题的开心 我能怎么办?我也很绝望啊!!
脚本跑起来的时候真的超级装逼的,哈哈哈
任务进度:任务3步骤3
任务开始时间:2017/9/10
预计结束时间:2017-9-17
已延期至2017-9-19
禅道:http://task.ptteng.com/zentao/task-view-9387.html
评论