我想在AppHarbor上主持一个项目。该项目的汞储存库托管在BitBucket上。问题是我的存储库包含一个子博客(也是BitBucket上的Hg)。AppHarbor似乎没有办法拉取subpos,因此该项目无法构建。
AppHarbor意识到了这个问题,并表示解决方案取决于BitBucket:
- http://support.appharbor.com/discussions/problems/1578-bitbucket-hg-subrepos-are-not-downloaded-to-appharbor
- http://support.appharbor.com/discussions/problems/4154-using-bitbucket-repo-with-sub-repo
BitBucket有一个开放的票证,但没有更新:
- https://bitbucket.org/site/master/issue/1500/archived-snapshots-dont-contain-subrepo
我的问题是,有人能解决这个问题吗?我只想把工作目录ftp到AppHarbor,但我不知道该怎么做。
Bitbucket修改归档tarball以包含subpos可能不合适。
然而,你可以很容易地设置一些东西来构建你自己的tarball,应用程序港湾可以处理这些tarball,并使其可用于应用程序港湾。一个只运行hg pull ; hg update ; tar -czvf /docroot/workingdir.tar.gz workingdir
的cron作业就足以创建一个应用程序港湾可以使用的网络可访问的tarball。
更好的解决方案是让应用程序港湾进行克隆和更新,而不是下载tarball。Mercurial和git已经内置了获取代码的方法,tarball是一种后备机制,而不是主要机制。例如,像Jenkins这样的流行CI系统使用克隆来获取代码,而不是tarball下载,因此它们运行良好。