我正在尝试使用 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"