发表于: 2016-10-14 10:43:14
5 2328
萝卜多前端代码发布流程
1、进入/data/sources 目录,把前端代码从svn上checkout出来
2、运行该目录下的html目录下的local.sh 脚本
sh html/local.sh 项目名
3、进入/data/software-server/nginx/nginx目录下
其中 conf 是nginx的配置文件目录,html是前端代码目录,刚才运行的local.sh就是将代码发布到html目录里,sbin是nginx的启动脚本目录
4、进入conf目录,里面是各个项目的配置文件
location_carrots_admin本身是没有的,需要自己添加,可以copy一个别的项目的修改一下
把copy过来的配置文件里面别人的项目名改为自己的项目名。
5、打开servers.conf
新建一个自己的server,同样复制上面的就好,把域名换成自己的域名
6、打开upsreams.conf
新建自己的server,包括ip和端口号
7、重启nginx
8、以后再次发布前端代码只需要做1、2步就好了。
萝卜多后端代码发布
service发布
1、在svn的ansible_project的projects里面新加一个**.yml配置文件
开发服就是项目名_dev.xml,测试服项目名_test.xml。
以carrots_dev为例,cores下配core包的中间字段的名字(carrots-home-core),
graship_dev.yml里面配了home和public,因为graship项目中有两个core包(graship-home-core和graship-public-core)
改完记得提交代码
2、从svn上下载代码(服务器的data/sources下)
svn checkout svn://wx.ptteng.com/ptteng/项目名称
3、配置services ( 服务器的data/services 下)
在该目录下 mkdir 项目名
再进入该目录新建service文件夹
再进入该service文件夹新建deploy,logs,run三个文件夹
(1)deploy文件下有分别有start.sh和stop.sh两个文件,可以直接从别的项目下拷贝过来
start.sh 脚本里需要修改HELLO_SERVICE_HOME和MAIN_CLASS两个参数,分别改为自己项目对应的参数。
同理改为自己的项目的参数
(2)logs不用管
(3)run目录
可手动把maven打好的包拷贝在这里然后解压(嗯,后面有更高端的玩法)
(4)配置服务器的hosts
(5)运行deploy目录下的start.sh,启动服务(如果已启动则先运行一下stop.sh)
(6)高端玩法:以后每次将更新的代码提交到svn后,xshell连上服务器然后运行一下此条命令:
ansible-playbook -e "SERVER_HOST=ptteng_dev project=carrots stage=dev sname=home" -t service /data/ansible/playbook/ptteng_release.yml
这条命令会从svn上下载最新的service代码,然后将代码打包到run目录下,再分别运行stop.sh 和start.sh
ansible-playbook -e "SERVER_HOST=ptteng_dev(发布环境:开发or测试or线上) project=carrots(server名的第一个单词) stage=dev sname=home(server名第二个单词)" -t service(server名第三个单词 /data/ansible/playbook/ptteng_release.yml
web发布
1、同理从svn上下载代码 (发布service的时候已经下载过了,这里不用再重复下载)
svn checkout svn://wx.ptteng.com/ptteng/项目名称
2、配置webs( 服务器的data/webs 下)
3、该目录下同样有deploy,logs,run目录,不过同时多了一个containers目录
containers目录下放是web容器,用来启动web,这里用的是resin,这个容器直接从别的项目里拷贝就行
然后进入 resin/conf目录下修改其中的resin.xml配置文件
修改端口号以及运行时的项目路径
4、同样把deploy里的start.sh和stop.sh的脚本路径修改好
5、执行start.sh启动项目
6、以后每次将更新的代码提交到svn后,xshell连上服务器然后运行一下此条命令:
ansible-playbook -e "SERVER_HOST=ptteng_dev project=carrots stage=dev sname=admin" -t web /data/ansible/playbook/ptteng_release.yml
参考日报
1、曾李,2016,06,22. http://www.jnshu.com/#/daily/5438
评论