1

2つのgrailsアプリケーション間で共有されるドメインオブジェクト用のプライベートプラグインを作成しました。BuildConfigファイルを介してプラグインへのパスを設定したので、ローカル環境でプラグインを正常に使用できます。たとえば、次のディレクトリがあります。

appOne/
myPlugin/grails-my-plugin-0.1.zip     (myPlugin is a grails plugin project dir)

で:appOne / grails-app / conf / BuildConfig.groovy:

grails.plugin.location.compileMyPlugin = "../myPlugin"

私の質問は、このプラグインをアプリのリリースで「パッケージ化」して、ダウンロードできないクラウドサービスにプラグインをデプロイできるようにするための適切/最良の方法は何ですか?グレイルにこれをやってもらう方法があると思いますが、よくわかりません。(私はgrailsにとても慣れていません)

4

3 に答える 3

2

デプロイ用の.warファイルを作成すると、grailsにはプラグインが含まれるだけです。ですから、特別なことは何もありません。

プロジェクトがクラウドでビルドされている場合は、ファイルパスをローカルリポジトリとして指定してみてください。

repositories {
  grailsCentral()
  localRepo "../myPlugin"
}

zip形式のプラグインをこのフォルダーにドロップするだけで、grailsがそれを見つけます。

于 2012-08-11T07:41:27.437 に答える
2

Grails 2.1.0でこれを解決するために、次のことを行いました。

1) Grails プラグイン プロジェクト:
grails package-plugin     grails-myplugin-0.1.zip ファイルを生成します。

2) プラグインをアプリケーションの lib ディレクトリ (appOne/lib/grails-myplugin-0.1.zip) にコピーします。

3) BuildConfig.groovy 内

  • 削除: grails.plugin.location.compilemyPlugin = "../myPlugin"
    これは、開発中
    に、プラグインに含まれるファイルを更新する際の再構築と再インストールのプロセスを防ぐために使用されていました。

  • 追加:

    plugins {
    .....
    compile ':grails-myPlugin:0.1'
    }

4) appOne をクリーニングしてテストし、lib ディレクトリ経由でプラグインをインストール/再インストールする再実行

5) すべての変更をコミットし、プラグインの zip ファイルを appOne に追加してプッシュします。その後、クラウド プロバイダー (
この場合は Heroku) が依存関係を解決できます。

于 2012-08-13T16:16:11.713 に答える
1

ビルド スクリプトは、まずプラグインをパッケージ化してから、プラグインを Grails アプリケーションにインストールする必要があります。少なくとも、私はそうしなければなりません。プラグインを BuildConfig 依存関係で指定し、インライン プラグインとして指定しようとすると、Grails はそれについて文句を言う傾向があります。

于 2012-08-10T19:55:42.260 に答える