84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我们用git托管代码, 线上有多台服务器, 求代码自动部署同步所有服务器的方法;
希望提供较详细的方案信息, 谢谢!
不要这样部署代码,靠git pull不能保证同步,而且有台机器pull没成功怎么办。建议单独一台部署机,pull代码,增量同步到服务器,可以用ansible
首先,想知道你是把origin裸库布置在线上的某台服务器上,还是把线上的这些服务器都当做从origin克隆代码的客户端。其次,线上的服务器可以做这么几件事来实现自动化部署:1. 给git增加增加钩子动作,每次git在完成某项动作是,可以通过该钩子附带执行对应的动作;2. 利用linux的corntab和shell脚本,定时执行一些检查,或者定时执行一些git更新;3. 还是利用2中的方法,定期对文件进行同步,也就是楼上说的sync。这是我的思路。
rsync服务器文件同步
期中的一台服务器你用git部署了,其他服务器都是单向rsync同步当前机器即可
用Capistrano
teamcity 或 jenkins自动构建工具,再写脚本把构建好的文件上传到各台机器上。
不要这样部署代码,靠git pull不能保证同步,而且有台机器pull没成功怎么办。建议单独一台部署机,pull代码,增量同步到服务器,可以用ansible
首先,想知道你是把origin裸库布置在线上的某台服务器上,还是把线上的这些服务器都当做从origin克隆代码的客户端。
其次,线上的服务器可以做这么几件事来实现自动化部署:1. 给git增加增加钩子动作,每次git在完成某项动作是,可以通过该钩子附带执行对应的动作;2. 利用linux的corntab和shell脚本,定时执行一些检查,或者定时执行一些git更新;3. 还是利用2中的方法,定期对文件进行同步,也就是楼上说的sync。
这是我的思路。
rsync服务器文件同步
期中的一台服务器你用git部署了,其他服务器都是单向rsync同步当前机器即可
用Capistrano
teamcity 或 jenkins自动构建工具,再写脚本把构建好的文件上传到各台机器上。