使用git子模块与circleCI进行部署

时间:2015-05-30 13:15:49

标签: heroku gruntjs git-submodules circleci

我有一个使用yeoman angular-fullstack生成器构建的项目。此设置的一部分是一个笨拙的“构建”任务,它创建了一个dist部署目录。

所以我想将该目录部署到Heroku,并认为这将是git子模块的实际用途。子模块允许将dist目录设置为可以独立部署到Heroku的单独repo,而不是担心下拉外部更改。

这一切都很好地适用于localhost,我可以在grunt完成构建之后进入子模块目录,然后只需提交更改并将它们推送到子模块的repo。 Heroku正在观看回购并自动部署。

我的问题是,当我尝试在CircleCI中执行相同的操作时,我似乎无法cd进入子模块目录以添加/提交/推送构建的分发。

有一种想法是我从dist'repo'运行CircleCI,但这需要我在repo中包含我不想部署到heroku的所有测试。

我正在寻找任何人:

  1. 知道如何在CircleCI或
  2. 中提交/推送子模块
  3. 更好地了解如何将dist目录(仅限)部署到Heroku。

1 个答案:

答案 0 :(得分:1)

更新任何面临类似问题的人。我最终使用了grunt-buildcontrol插件,该插件获取dist目录并将其提交给不同的repo - 正是我试图用子模块实现的。

所以在完成一个grunt构建之后,我使用grunt buildcontrol将dist目录推送到github。我的Heroku应用程序监视主分支,并在主更新时自动部署新版本。