IDEAが正常にインストールされたことを確認するために仮想マシンでCLIを使用する方法は?

IDEAが正常にインストールされたことを確認するために仮想マシンでCLIを使用する方法は?

IntelliJ IDEAをインストールするためのサードパーティ製Puppetモジュール、インストールが有効かどうかを自動的に確認したいと思います。現在のソリューションライセンスがないため失敗しました:

$ make test
[...]
/usr/bin/vagrant ssh --command '/opt/idea/bin/inspect.sh "/home/user/dev/root" ~/.IntelliJIdea14/config/inspection/Default.xml /tmp -d "/home/user/dev/root/test/module"'
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0
Sep 14, 2015 1:40:43 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Sep 14, 2015 1:40:43 AM java.util.prefs.FileSystemPreferences$6 run
WARNING: Prefs file removed in background /home/vagrant/.java/.userPrefs/prefs.xml
[   1380]  ERROR - nse.impl.GeneralLicenseManager - No valid license found 
java.lang.Throwable
        at com.intellij.openapi.diagnostic.Logger.error(Logger.java:115)
        at com.intellij.ide.a.g.cb.a(cb.java:107)
        at com.intellij.idea.MainImpl$1.start(MainImpl.java:43)
        at com.intellij.idea.StartupUtil.prepareAndStart(StartupUtil.java:117)
        at com.intellij.idea.MainImpl.start(MainImpl.java:38)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.intellij.ide.plugins.PluginManager$2.run(PluginManager.java:91)
        at java.lang.Thread.run(Thread.java:745)
[   1389]  ERROR - nse.impl.GeneralLicenseManager - IntelliJ IDEA 14.1.4  Build #IU-141.1532.4 
[   1389]  ERROR - nse.impl.GeneralLicenseManager - JDK: 1.8.0_60 
[   1389]  ERROR - nse.impl.GeneralLicenseManager - VM: OpenJDK 64-Bit Server VM 
[   1390]  ERROR - nse.impl.GeneralLicenseManager - Vendor: Oracle Corporation 
[   1390]  ERROR - nse.impl.GeneralLicenseManager - OS: Linux 
Connection to 127.0.0.1 closed.
Makefile:198: recipe for target 'test-integrated-development-environment' failed
make: *** [test-integrated-development-environment] Error 255

明らかに私のライセンスファイルをリポジトリに入れることはできません。したがって、オプションは次のようになります。

  1. コミュニティライセンスファイルを作成してリポジトリに含め、ファイルがまだ存在しない場合にのみライセンスファイルの場所に書き込みます。それがどれほどハッキーなのかよくわかりません。
  2. 上記と同じ条件でコミュニティライセンスファイルを動的に生成します。これが可能かどうかわかりません。
  3. 実行中のXサーバーまたはライセンスを必要としないまったく異なるコマンドを実行します。

これ解決策/opt/idea/bin/inspect.sh存在することを確認、私の考えでは良い指標ではありません。

使用可能なライセンスファイルがない場合は、コミュニティバージョンのインストールなどの作業をしたくありません。実際にインストールしたいパッケージのインストールを確認したいと思います。

ベストアンサー1

最初のアイデアはおそらく最高のアイデアでしょう。人形はプロパティfile組み込みタイプの場合は、次のようにします。

file { "idea-license":
    source => "puppet:///.../community-license",
    replace => false,
}

ライセンスファイルがまだ存在しない場合は、コミュニティライセンスがインストールされますが、存在する場合は触れません。

おすすめ記事