0

我正在寻找一些帮助/方向,并且通常感到困惑,因为这一定是人们面临的常见问题(即应该有一个直截了当的解决方案!)。

我正在使用 TeamCity、MSBuild 和 WebDeploy/MSDeploy 远程部署网站。我还希望在我部署到的远程服务器上运行一些脚本。......人们通常如何做到这一点?!我只想在服务器上远程自动化一些日常任务,例如备份文件或类似的。

是否有以下情况:

  • 使用 MSDeploy 远程运行像这里这样的一些脚本,但是作为自动部署的一部分,如何将脚本传输到远程服务器?
  • 以这种方式启动某种PowerShell 会话并远程连接到服务器?
  • 某种ssh-ing或其他方式?

仅供参考,这些是我用于 MSBuild 和 MSDeploy 到远程服务器的参数(它们工作正常):

/p:Configuration=TeamCityLiveRelease
/p:OutputPath=bin 
/p:DeployOnBuild=True 
/p:DeployTarget=MSDeployPublish 
/p:ContinueOnError="false" 
/p:MSDeployPublishMethod=WMSVC
/p:MsDeployServiceUrl=https://MY.SITE:PORT/msdeploy.axd 
/p:DeployIisAppPath=my.iis.site.here 
/p:AllowUntrustedCertificate=True 
/p:Username=FOO
/p:Password=baaa

理想情况下,我想编写一个不错的命令行脚本并执行类似的操作(抱歉,它是伪的!):

Log in to "http://some.server.ip" -username "user" -password "something"
run script "echo this is a remote script running"
4

2 回答 2

0

我认为 psexec 是您正在寻找的工具:http ://technet.microsoft.com/en-us/sysinternals/bb897553

于 2013-06-09T07:59:12.080 回答
0

如果有人感兴趣:可以使用 MSDeploy 在远程计算机上执行脚本(MYSCRIPT.bat此处称为脚本)。如果您在远程服务器上有管理员帐户,则可以使用以下参数完成:

"c:\program files\iis\microsoft web deploy\msdeploy.exe" 
  -verb:sync 
  -source:runCommand="C:\MYSCRIPT.bat",
          waitInterval=5000,waitAttempts=1 
  -dest:auto,
        computerName=https://IP.ADDRESS.HERE:PORT/msdeploy.axd?site=IIS.SITE.NAME.HERE,userName=MYUSERNAME,password=MYPASSWORD 
  -verbose 
  -allowUntrusted
于 2013-06-17T08:33:59.860 回答