我正在尝试通过CodeShip将一个网站部署到Heroku。该站点是使用Yeoman的Angular-Fullstack生成器构建的,该生成器被推送到GitHub。Codeship检测到推送,构建整个东西,然后麻烦就开始了。
Angular-Fullstack的设置使得dist/文件夹包含整个Heroku应用程序,因此盲目地部署所有内容在Heroku上不起作用。在本地,我可以使用Heroku工具带登录,在dist文件夹中添加一个遥控器,然后使用grunt buildcontrol将所有内容部署到Heroku。
但在Codeship有几个警告:*我不能安装wget的Heroku工具带,因为它需要sudo和Codeship不支持它*如果我可以,我不能登录到Heroku,因为我不能在Codeship中与外壳交互*我不能进入dist/文件夹,添加遥控器后,简单地推送到Heroku,因为我需要输入我的凭据。
是不是有什么地方我错过了?我想让Codeship处理从构建到部署到Heroku的所有事情(只在master分支上)。
发布于 2016-06-02 15:48:08
想明白了!
我跳过了尝试安装Heroku工具带的步骤,只是在Heroku上添加了repo作为远程:
git remote add heroku ssh://git@heroku.com/[your-heroku-app-name].gitCodeship具有可用于每个构建的公钥。因此,我将公钥添加到我的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进行推送。
https://stackoverflow.com/questions/37527110
复制相似问题