1

我正在尝试使用 Capistrano 部署使用Stasis构建的静态网站。构建站点的代码保存在 Git 存储库中,我希望将构建产品(即站点的成品)保留在存储库之外,以尽量减少代码异味。

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

我认为我不能使用 Capistrano 挂钩,因为构建需要在deploy:update_code任务内部进行。我认为我也不能使用 Git 签出后挂钩,因为 Capistrano 每次进行部署时都会签出到不同的位置,并且 Git 挂钩不会与存储库一起克隆。

配置/部署.rb

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

1 回答 1

0

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

set :build_script, "stasis"

这将在将其传输到目标之前在本地副本上运行。这方面的大部分文档都在Capistrano Source作为内联注释。

于 2013-07-16T15:40:05.797 回答