在此找不到任何信息,這可能嗎?發佈任務後,我只需要執行像systemctl restart project
這樣的小命令。通過SSH在SBT任務中執行shell腳本
1
A
回答
6
我這樣做在my tests。然而,那裏有一些奇怪的輸出來捕捉失敗。
基本要點是sbt提供了一個process API哪個eventualyl成爲斯卡拉核心庫的一部分。
下面是一個例子:
val restartSystemService = taskKey[Unit]("restarts stuff")
restartSystemService := {
val logger = streams.value.log
Process("systemctrl restart project") ! logger match {
case 0 => // Success!
case n => sys.error(s"Could not restart the project, exit code: $n")
}
}
3
好吧,我已經找到了一個小型圖書館 - scala-ssh,使其在.scala
構建定義可用的,我們需要添加這種依賴關係到project/build.sbt
文件,這樣我們可以定義這樣的任務:
val restart = taskKey[Unit]("restart")
restart := {
SSH(host, config) { client =>
client.exec("systemctl restart project")
}
}
相關問題
- 1. 通過ssh執行腳本
- 2. 通過SSH執行遠程python腳本
- 3. 通過ssh執行從Java程序的Shell腳本到遠程服務器
- 4. 從npm命令執行ssh shell腳本
- 5. Shell腳本:通過ssh腳本運行函數
- 6. 如何通過python執行shell腳本
- 7. 通過java程序執行shell腳本
- 8. 通過螞蟻執行Shell腳本
- 9. 在shell腳本中執行php腳本?
- 10. SSH Shell腳本
- 11. Shell腳本 - SSH
- 12. 多次執行SBT任務
- 13. Shell腳本SSH行爲
- 14. 通過Expect執行遠程服務器上的shell腳本
- 15. 無法通過shell腳本執行sql腳本
- 16. 如何通過shell腳本執行rbenv shell?
- 17. 執行shell腳本
- 18. 執行shell腳本
- 19. 詹金斯發佈通過SSH運行一個shell腳本
- 20. shell腳本在執行過程中執行的分支數
- 21. Gradle執行任務運行shell腳本分心要求輸入
- 22. 通過SSH在後臺執行遠程python腳本
- 23. Shell腳本在執行時不會執行任何操作
- 24. bash腳本通過ssh啓動服務
- 25. 通過shell腳本
- 26. 通過shell腳本
- 27. 使用參數通過python執行shell腳本在執行shell腳本時始終採用默認值
- 28. 通過python腳本在命令行中執行sbt並輸出到文件
- 29. 通過腳本執行Azure計劃任務
- 30. 在腳本中執行ssh命令