我们目前正在使用RightScale,每次部署时,我们都会在要更新的服务器或服务器阵列上执行脚本。它从GitHub存储库中提取代码,在/var/www/releases/TIMESTAMP
中创建一个新文件夹,并将文档根/var/www/current
符号链接到该目录。
我们希望获得更好的部署策略,例如我们将SSH连接到专用网络上的某个服务器,并运行命令行脚本来部署我们想要部署的内容。
但是,这意味着这一台服务器必须在我们要部署的所有服务器的authorized_keys
中拥有其公钥。这样安全吗?这不是一台允许访问所有其他服务器的服务器吗?
最好的方法是什么?
谢谢!
答案 0 :(得分:2)
我们使用类似的策略进行部署,但我们不再使用Rightscale了。
我认为一般来说这种方法很好,我有兴趣了解你认为不重要的事情。
如果你想做自己的事情,那么我会做以下几点:
deploy
安全组或类似IP的特定IP或服务器的ssh。这里的缺点是,当其他服务器关闭等时,您可能会将自己锁定。同样,我认为Rightscale的方法并非独一无二。许多服务就是这样做的。原因是,例如当你使用符号链接并保留以前的版本时,它就更容易回滚等等。