2016-11-15 25 views
0

我对gradle比较陌生,我想创建一个将运行并连接到“流浪ssh”的gr​​adle任务。似乎通过gradle运行交互式shell是不可能的。通过gradle任务连接到流浪者

我已经使用了Exec插件以及另一种方法来通过expectJ生成“vagrant ssh”,然后使用“interact()”方法,但它们都没有工作。

有什么想法?

回答

0

您可以检查gradle-vagrant plugin

的插件有特定task处理vagrantX命令(如流浪者上/ SSH ...)

见例如如何从直接的gradle运行一个命令脚本

vagrant { 
    boxDir = file('~/dev/my-vagrant-box') 

    environmentVariables { 
     variable 'IP', '192.168.1.33' 
     variable 'OPERATINGSYSTEM', 'redhat' 
    } 

    installation { 
     validate = false 
    } 
} 

import com.bmuschko.gradle.vagrant.tasks.Vagrant 
import com.bmuschko.gradle.vagrant.tasks.VagrantSsh 

task vagrantListsBoxes(type: Vagrant) { 
    description = 'Outputs a list of available Vagrant boxes.' 
    commands = ['box', 'list'] 
} 

task vagrantEcho(type: VagrantSsh) { 
    description = 'Runs remote SSH command in Vagrant box.' 
    sshCommand = "echo 'hello'" 

    dependsOn vagrantUp 
    finalizedBy vagrantDestroy 
} 
+0

Henri:我已经检查过了。 “VagrantSsh”只是对流浪者箱子发出一些命令。我需要的是连接到流浪者的外壳,并给我任何手动我想要的命令。因此我需要一种通过交互模式通过gradle连接到shell的方法。 –