我试图通过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
分支)。
答案 0 :(得分:1)
想出来了!
我跳过了试图安装Heroku Toolbelt的步骤,只是将Heroku上的repo添加为远程:
[]
Codeship每个版本都有公钥。所以,我将该关键字添加到我的Heroku帐户中。
然后我注意到Git仍在尝试使用HTTPS而不是SSH,因此我将其添加到部署脚本中:
git remote add heroku ssh://git@heroku.com/[your-heroku-app-name].git
这确保了Git使用Heroku的SSH URL。然后我让Codeship构建整个项目并用git config --global url.ssh://git@heroku.com/.insteadOf https://git.heroku.com/
推送它。