1
我试图使用Capistrano部署一个使用Stasis构建的静态网站。构建网站的代码保存在Git存储库中,我希望将构建产品(即站点的最终产品)保留在存储库之外,以尽量减少代码异味。在Capistrano部署期间使用Stasis在本地预建网站
不幸的是,我无法安装必要的库来在远程服务器上构建站点,因此我需要使用本地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"