我需要在jenkins内部运行一个shell脚本,以便在生成之后提交更改。将构建部署到远程服务器并不是一个问题,因此存在新构建。我所要做的就是把它交出来。
为此,我需要使用shell脚本使用ssh登录到远程服务器,到目前为止还可以:
#!/user/bin/expect -f
spawn ssh myusername@url
expect "password:"
send "mypassword\r"
interact所以现在当我登录时,我想运行一些命令:cd /path/to/repository; svn commit -m "Some change log"
我试过这样的方法:
#!/user/bin/expect -f
spawn ssh -o "LocalCommand cd /path/to/repository" myusername@url
expect "password:"
send "mypassword\r"但这不管用,因为我不知道该怎么做。
如果有人知道怎么做,请告诉我。
远程服务器运行在linux上,jenkins运行在osx上。
发布于 2016-09-05 10:21:33
我找到了解决办法,就在期待中:
#!/user/bin/expect -f
spawn ssh myusername@url
expect "password:"
send "mypassword\r"
expect "some server prompt"
send "cd /path/to/repository\r"
send "svn commit -m 'Some change log'\r"编辑:
这个解决方案似乎有时只起作用。我是说表演变化。
https://stackoverflow.com/questions/39327379
复制相似问题