我有一个正在运行的gradle脚本,用于构建Docker映像(我使用跨模式docker插件,但我想这对我的问题无关紧要)。我的gradle脚本可以正常运行,但是现在我希望它可以与minikube一起使用,因此我只需要这样做
eval $(minikube docker-env)
在运行gradle命令之前。这使“ docker”命令与minikube docker一起使用,而不与Mac中的原始docker一起使用。
问题是,当我从eclipse运行gradle脚本时,必须以某种方式将“ eval $(minikube docker-env)”命令包含在gradle脚本中,因为它不能作为bash命令先执行限制Eclipse中的执行(任何地方都没有bash)。我尝试添加:
commandLine 'eval','$(/usr/local/bin/minikube docker-env)'
这不起作用,可能是因为“ eval”并不是真正的命令,而是一个外壳函数,将$()中的命令返回作为子命令执行。
我该如何模拟这一点,以便我的gradle命令包含用于配置minikube的eval?
答案 0 :(得分:0)
如果您使用的是Gradle 4.9+,请查看“ How to pass arguments from command line to gradle”是否有帮助:
./gradlew run --args="$(/usr/local/bin/minikube docker-env)"
这样,您可以避免在Gradle内部处理eval
。