我需要在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 上运行。
答案 0 :(得分:0)
我发现解决方案只是期待:
#!/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"
修改强>
此解决方案似乎不时有效。我的意思是提交更改。