代码发布系统

腾讯(蓝鲸) http://bk.tencent.com

Murder(推特)  基于管理工具【capistrano】+比特流【bittornado】

                            Ruby                  python


代码发布流程

程序员开发

合并代码

发布

                --编译

                --非编译

        --推送(扩展)到指定服务器  注册事件


      在互联网产品的发布过程中也较多采用此种发布方式:产品的发布过程不是一蹴而就,而是逐步扩大使用用户的范围,从公司内部用户->忠诚度较高的种子用户->更大范围的活跃用户->所有用户。在此过程中,产品团队根据用户的反馈及时完善产品相关功能。此种发布方式,按照中国特色的叫法被冠以”灰度发布“、”灰度放量“、”分流发布“。


代码发布方式:

rsync                             【堡垒机与真实机器之间】

git/svn                           【设计简单   git服务器<--真实机器】

saltstack/puppet    管理工具      【gitlab<--salt master slave】

p2p/比特流                        【相当于调度】

    机器—->(文件服务器.torrent)-发送请求-àtracker 调度-->seeder  起始文件启动—->开始下载和上传à关闭上传进程

++===================================================================================++

可以实验推特的这部分功能

                git clone https://github.com/lg/murder

                进入murder/dist

                [root@localhost dist]# ls

BitTornado  murder_client.py  murder_make_torrent.py  murder_tracker.py

1. 有代码..

2. 运行tracker

python murder_tracker.py  默认为8999

3. 利用murder_make_torrent.py生成种子文件

python murder_make_torrent.py 代码 ip:8998 种子文件名字

4. 将种子文件移到文件服务器上

5. 创建seed

6. python  murder_client.py  seed 文件服务器的ip:port/种子文件 代码重命名 本机ip

7. 客户端获取种子文件(下载)

python  murder_client.py  peer 文件服务器的ip:port/种子文件 代码重命名 本机ip

                ++====================================================================================++