流浪者提供者特定变量

时间:2015-06-15 07:36:50

标签: ruby vagrant vagrantfile

在vagrantfile中我想设置一些提供者特定的变量。在意识到我无法在这些部分(because of this)中设置值之后:

config.vm.provider "virtualbox" do |vb, override|
    ...
end

...这是我的解决方法 - 基本上我设置了一个环境变量,我可以检查,然后相应地设置提供者设置:

  if ENV['VAGRANT_PROVIDER'] == 'virtualbox'

    config.hostmanager.enabled = true
    tld = "local"
    dbadmin_pass = "vagrant"

  elsif ENV['VAGRANT_PROVIDER'] == 'aws'

    config.hostmanager.enabled = false
    tld = "com"
    dbadmin_pass = "myprodpass" 

  else

    raise Vagrant::Errors::VagrantError.new, "Missing environment variable or invalid value: VAGRANT_PROVIDER [virtualbox|aws]"

  end

虽然这很麻烦,但我也需要设置环境变量。

我根本不是红宝石专家 - 有没有更好的方法来设置提供者特定的变量?

1 个答案:

答案 0 :(得分:-1)

您可以定义以下提供商:

Expression<String> filterKeyExp = root.get(filterKey).as(String.class);
filterKeyExp = criteriaBuilder.lower(filterKeyExp);

Predicate predicate = criteriaBuilder.like(filterKeyExp ,"%" + filterValue.trim().toLowerCase() + "%");

然后用:

启动你的流浪者
06-16 08:49:13.939    6396-6396/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.android.gms/com.google.android.gms.appinvite.AppInviteActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
        at android.app.ActivityThread.access$1500(ActivityThread.java:117)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:130)
        at android.app.ActivityThread.main(ActivityThread.java:3687)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:507)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at com.google.android.gms.appinvite.ui.widget.g.<init>(SourceFile:167)
        at com.google.android.gms.appinvite.ui.widget.s.b(SourceFile:80)
        at com.google.android.gms.appinvite.ui.widget.d.a(SourceFile:76)
        at com.google.android.gms.appinvite.ui.context.h.a(SourceFile:409)
        at android.support.v4.app.Fragment.b(SourceFile:1786)
        at android.support.v4.app.s.a(SourceFile:953)
        at android.support.v4.app.s.a(SourceFile:1136)
        at android.support.v4.app.a.run(SourceFile:739)
        at android.support.v4.app.s.h(SourceFile:1499)
        at android.support.v4.app.l.onStart(SourceFile:548)
        at com.google.android.gms.appinvite.AppInviteActivity.onStart(SourceFile:270)

config.vm.provider "virtualbox" do |vb|
    config.hostmanager.enabled = true
    tld = "local"
    dbadmin_pass = "vagrant"
end

config.vm.provider :aws do |aws|
    config.hostmanager.enabled = false
    tld = "com"
    dbadmin_pass = "myprodpass" 
end

确保覆盖任何提供者特定的变量,请参阅Vagrant Docs - 覆盖配置部分。