发表于: 2016-10-14 10:43:14

5 2329


萝卜多前端代码发布流程

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


返回列表 返回列表
评论

    分享到