【问题标题】:Deploying Angular-fullstack app on Heroku using Codeship使用 Codeship 在 Heroku 上部署 Angular-fullstack 应用程序
【发布时间】:2016-09-28 08:51:09
【问题描述】:

我正在尝试通过 CodeShip 将网站部署到 Heroku。该站点是使用 Yeoman 的 Angular-Fullstack 生成器构建的,该生成器已推送到 GitHub。 Codeship 检测到推送,构建整个事物,然后开始出现问题。

Angular-Fullstack 已设置为 dist/ 文件夹包含整个 Heroku 应用程序,因此盲目地部署一切将无法在 Heroku 上运行。 在本地,我可以使用 Heroku 工具带登录,在 dist 文件夹中添加一个远程,然后使用 grunt buildcontrol 将整个东西部署到 Heroku。

但在 Codeship 中有一些注意事项: * 我无法使用wget 安装 Heroku 工具带,因为它需要 sudo 而 Codeship 不支持它 * 如果可以,我无法使用 CLI 登录 Heroku,因为我无法与 Codeship 中的 shell 交互 * 我无法进入dist/ 文件夹,添加远程后,只需推送到 Heroku,因为我需要输入我的凭据。

有没有我在这里错过的方法?我想让 Codeship 处理从构建到部署到 Heroku 的所有事情(仅在 master 分支上)。

【问题讨论】:

    标签: heroku deployment angular-fullstack codeship


    【解决方案1】:

    想通了!

    我跳过了尝试安装 Heroku Toolbelt 的步骤,只是将 Heroku 上的 repo 添加为远程:

    git remote add heroku ssh://git@heroku.com/[your-heroku-app-name].git
    

    Codeship 具有可用于每个构建的公钥。因此,我将该公钥添加到了我的 Heroku 帐户中。

    然后我注意到 Git 仍在尝试使用 HTTPS 而不是 SSH 推送,因此我将其添加到部署脚本中:

    git config --global url.ssh://git@heroku.com/.insteadOf https://git.heroku.com/
    

    这确保 Git 使用 Heroku 的 SSH url。然后我让 Codeship 构建整个项目并使用 grunt buildcontrol:heroku 推送它。

    【讨论】:

      猜你喜欢
      • 2015-10-23
      • 2016-01-27
      • 2016-05-09
      • 2016-10-07
      • 2015-05-08
      • 2018-11-19
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多