2016-05-30 11 views
2

私はCodeShip経由でHerokuにウェブサイトを展開しようとしています。このサイトはYeomanのAngular-Fullstackジェネレータで構築され、GitHubにプッシュされます。コードシップはプッシュを検出し、全体を構築してからトラブルを開始します。コードシップを使用してHerokuにAngular-fullstackアプリケーションを展開

Angular-Fullstackは、dist/フォルダにすべてのHerokuアプリが含まれるように設定されているため、すべてを盲目的に展開することはHerokuでは機能しません。 ローカルでは、Herokuのツールベルトを使用してログインし、distフォルダ内にリモートを追加してから、grunt buildcontrolを使用してHerokuにすべて展開することができます。

しかしCodeshipにいくつかの注意点があります:それはsudoを必要とCodeshipはその をサポートしていないので、私は、私はCLIを使用してHerokuのにログインできなかったことができれば、私は* wgetでHerokuののツールベルトをインストールすることはできません* は、私はコードシップでシェルと対話できないので * dist/フォルダに入ることはできません。リモートを追加した後、私は自分の資格情報を入力する必要があるため、Herokuにプッシュします。

私はここで逃した方法はありますか?私は、CodeshipがビルからデプロイまでのすべてをHeroku(masterブランチのみ)で処理できるようにしたいと思います。

答えて

1

私はHerokuのツールベルトをインストールしようとしていたステップをスキップして、ちょうどリモートとしてHerokuの上のレポを追加しました:

git remote add heroku ssh://[email protected]/[your-heroku-app-name].git 

Codeshipは、すべてのビルドに使用可能な公開鍵を持っています。だから、私はその公開鍵を私のHerokuアカウントに追加しました。

は、それから私は、Gitはまだ代わりにSSHのHTTPSを使用してプッシュしようとしていたことに気づいたので、私は展開スクリプトにこれを追加しました:

git config --global url.ssh://[email protected]/.insteadOf https://git.heroku.com/ 

これは、GitはHerokuのためのSSHのURLを使用していることを確認しました。私はCodeshipにプロジェクト全体をビルドさせてgrunt buildcontrol:herokuでプッシュします。

関連する問題