我相对较新,我想要创建一个将运行并连接到“vagrant ssh”的gradle任务。似乎无法通过gradle运行交互式shell。
我既使用了Exec插件又使用了另一种方法来通过expectJ生成“vagrant ssh”,然后使用“interact()”方法,但它们都没有工作。
有什么想法吗?
答案 0 :(得分:0)
该插件具有特定的task来处理vagrantX命令(例如vagrant up / 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
}