2016-06-22 16 views
2

をループバックするために、私の変更を上書きし、私は中buildpackを使用してHerokuの中の私のループバックのプロジェクトを展開しています(つまり、私はEveryoneのユーザー作成へのアクセスを拒否するためにACLを変更しました)、そして私がHerokuで展開すると、その変更はデフォルト値で上書きされます。私の推測は、Herokuで展開するときは、私の変更が最初に置かれ、次にbuil dpackがインストールされているため、LBソースコードの変更が上書きされます。ループバックbuildpackでHerokuのに展開するコード

私はLoopBackソースコードを変更してHerokuに展開する方法はありますか?

変更を加えた独自のビルドパックを作成する必要がありますか?ビルパックの作成方法に関する推奨リソース

ありがとうございます!

答えて

0

いくつかの調査の後で、なぜこれが失敗したのかに関する私の仮定は正しいと思われます。変更が上書きされているのは確かです。なぜなら、buildpackはあなたのHerokuアプリケーションにコミットするプロジェクト構造の上にすべてをインストールするからです。

私のケースでは、私の変更はStrongLoopのファイルの変更に関係していたため、SLビルドパックが失われた場所にインストールされるたびに変更されました。

ソリューション:

私は、これはStrongLoop's buildpackをフォークして、誰でも(「$全員」の役割を)許可するACLエントリを削除するsedを使用するbin/compileファイルに数行を追加することによりだった解決方法へ私が使用している、これは次の行を削除SLのバージョンでは

status "Removing CREATE permissions for User model" 
sed '42,47d' $build_dir/node_modules/loopback/common/models/user.json > $build_dir/node_modules/loopback/common/models/user.tmp 
mv $build_dir/node_modules/loopback/common/models/user.tmp $build_dir/node_modules/loopback/common/models/user.json 

link to the position of the lines is here

:新しいユーザーインスタンスをPOST S:

}, 
{ 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "login" 

link to GitHub lines here

私は、今、「$みんな」役で新しいユーザーを作成するためのアクセスを無効にしている新しいHerokuのアプリを作成するには、この新しいbuildpackを使用しました。

警告

これはもちろん、これを達成するのは非常に粗製の方法であり、私は正しい方法は、実際に、StrongLoopレポをforkが変更を行い、その後、buildpackを使用するだろうと思うだろう私の場合、元のStrongLoopレポにコミットされた修正に注意を払ってそれらを元に戻す必要があることを意味しました。