在Capistrano部署期间使用Stasis在本地预构建网站

时间:2013-06-28 20:37:39

标签: git capistrano

我正在尝试使用Capistrano部署使用Stasis构建的静态网站。构建站点的代码保存在Git存储库中,我希望将构建产品(即站点的最终产品)保留在存储库中,以最大限度地减少代码异味。

不幸的是,我无权安装必要​​的库来在远程服务器上构建站点,因此我需要使用本地copy strategy将其预构建为Capistrano部署的一部分。我无法确定将命令运行stasis的位置,以便在Capistrano从Git检出存储库之后但在打包并将所有内容推送到远程服务器之前。

我认为我不能使用Capistrano钩子,因为构建需要在deploy:update_code任务中进行。我不认为我可以使用Git post-checkout钩子,因为每次进行部署时Capistrano都会检出不同的位置,并且不会使用存储库克隆Git钩子。

配置/ deploy.rb

set :deploy_via, :copy
set :deploy_to, "/directory/on/remote/server"

1 个答案:

答案 0 :(得分:0)

您可以使用:build_script参数执行此操作。

set :build_script, "stasis"

在将其传输到目标之前,它将在本地副本上运行。大多数文档都在Capistrano Source中作为内联注释。