Linux Jenkins可以在管道构建期间停止/启动IIS网站吗?

时间:2018-06-05 14:09:41

标签: iis jenkins jenkins-pipeline devops

我目前正在尝试在Linux Jenkins服务器中构建一个php应用程序,然后使用IIS通过发布CIFS插件将构建工件发布到远程Windows服务器。

但是,如果该应用程序正在使用,则插件Publish Over CIFS将不允许我写入Windows共享,说它正在使用中。这让我相信我需要在发布时以某种方式启动/停止IIS网站。

有没有人有这方面的经验?有没有更好的方法将Linux上的Jenkins的PHP工件发布到单独的远程Windows IIS服务器上?

3 个答案:

答案 0 :(得分:1)

当然可以:)你必须确保jenkins有权启动和停止IIS服务器,即jenkins必须拥有管理员权限

<强> EDITED

如何将用户添加到管理员组
https://www.isunshare.com/windows-server/add-a-user-to-local-administrator-group.html

在此之后,您可以使用start和stop命令在命令行中启动和停止IIS服务器(wirte a bat script)

STOP-net stop WAS
START-net start W3SVC

答案 1 :(得分:0)

如果您可以在Windows服务器中设置Jenkins代理,则可以在Jenkins构建步骤中使用IIS app命令来启动/停止IIS

答案 2 :(得分:0)

以下是我们最终要做的事情,但是还有其他一些值得研究的建议:

  • 在我们推送的Windows服务器上安装openssh
  • 使用jenkins服务器(linux)中的ssh在Windows上运行powershell命令来停止网站
  • 命令为:ssh user @ host'powerethell.exe -Command Start-Website name'