使用capistrano自动部署而不保留旧版本

时间:2015-09-05 08:30:37

标签: capistrano capistrano3

这是我第一次尝试进行自动部署。目前,当我部署到服务器时,capistrano将所有版本和symlinkc <!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> <script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>文件夹保存到最新版本。所以我实际上得到了我的应用current的路径,我在/var/www/my_app/current中有所有其他版本我想知道是否有一种方法只有一个版本,所以我不会有{{1}这样的目录{1}}和/var/www/my_app/releases和我的应用只会放在current

1 个答案:

答案 0 :(得分:0)

不是真的。它可能是一起攻击的,但是如果你不喜欢Cap这样做的话,所付出的努力会让我鼓励你去看另一个工具。

话虽如此,您可以通过以下几种方式对此进行近似:

您可以将keep_releases设置为1,这将确保在成功部署后删除版本文件夹中的所有先前版本。如果你的空间非常有限,但是你失去了回滚的能力,这是有用的,这是Capistrano的标志性功能。

此外,您可以部署到其他位置,例如/var/www/deployments/myapp,然后将/var/www/myapp符号链接到/var/www/deployments/myapp/current。确保这是一个软链接(ln -s)。

最后,您可以执行最后一个选项,但创建一个后期部署任务来rsync更改而不是符号链接。