如何在sbt脚本中运行远程ssh命令?

时间:2017-12-18 18:15:42

标签: sbt

我想在远程计算机上部署并自动运行脚本。

但是,我不知道如何发出远程命令。

我尝试了几件事和插件,但这些东西似乎都没有用。

有办法吗?

.header

1 个答案:

答案 0 :(得分:1)

这是一个工作示例,您可以将其保存在SBT项目的顶级目录中的test.sbt中。 shellRun方法运行任意命令。我使用shellRun运行ssh,连接到本地计算机,并列出我的主目录中的文件。

import scala.sys.process.Process

val deployAndRunTask = TaskKey[Unit]("deploy-and-run-task", "Short example")

deployAndRunTask := {
  def shellRun(command: String*) = Process(command.toSeq).!!.trim

  val result = shellRun("/usr/bin/ssh", "localhost", "ls")
  println(result)
}

输入以下命令运行:

sbt deployAndRunTask