gpt4 book ai didi

.net - 使用MSDeploy将可执行文件复制到服务器,然后运行

转载 作者:行者123 更新时间:2023-12-04 03:39:56 25 4
gpt4 key购买 nike

我已经让MSDeploy/WebDeploy工作来更新我的Web应用程序-到目前为止,我已经解决了90%的部署问题。

另外,我想做的是将一个可执行文件(实用地是文件夹的内容)复制到服务器,然后运行该可执行文件(进行模式更新)。

我可以看到这应该是可能的,但是我正在努力将各个部分放在一起(这显然是一个边缘案例)。

具体来说:

  • 我宁愿不将可执行文件(文件夹)复制到Web目录中。
  • 我需要考虑运行可执行文件的结果(对于返回失败状态很有用,尽管如果严重,则部署后测试会抛出该错误)

    因此,要执行什么命令,要按什么顺序执行特定的命令-如果我可以找到一个模式,则可以使它起作用,但我正在努力制定出一个模式

    注意:

    我确实可以将文件夹复制到Web目录,运行代码,然后再次删除文件夹,但是对此我感到不舒服,无论如何,最好在部署后在服务器上提供代码。

    还值得一提的是,我对维护数据库架构的方式真的很满意,因此,可执行文件正在执行的操作与问题无关

  • 最佳答案

    Web Deploy实际上在这里提供了很多选项。选择哪种选项取决于要在一个命令中放入多少东西。

    要将文件文件夹移到目标位置,可以使用Web Deploy的dirPath提供程序将其复制到您选择的位置。要复制单个文件,可以使用filePath提供程序。如果您的副本源中有许多小文件,则Web Deploy实际上比网络上的RoboCopy性能更好(请参阅我的博客文章Web Deploy vs. Robocopy)。

    要运行复制到目标服务器的命令文件,可以使用runCommand提供程序。 (这是很重要的一个,我一定会继续阅读。)

    请注意,目前我们正在谈论至少两个单独的Web Deploy命令,不包括任何“常规” Web Deploy操作,例如部署网站或Web服务器。

    但是,如果您的目标是在一个Web Deploy操作中实现所有目标,则可以使用manifest提供程序。创建一个定制 list 文件,该文件指定一系列将依次执行的Web Deploy提供程序操作。然后,在Web Deploy命令中,将 list 提供程序指向自定义 list 文件。有关此方法的更多信息,请参见Creating and Synchronizing a Custom Manifest

    如果确实使用 list 提供程序,则可以在 list 文件中指定 dirPath 提供程序来复制一个或多个文件,然后在下一行中指定 runCommand 提供程序以实际运行复制过来的可执行文件。

    最后,不使用 list 文件的一种方法是在实际的Web部署操作发生之前或之后,使用 preSync 和/或 postSync 命令行开关在目标服务器上运行命令。您可以在Web Deploy Operation Settings页面上找到有关 preSync postSync 的更多信息。

    所引用的所有页面都有语法示例,因此应该有所帮助。

    关于.net - 使用MSDeploy将可执行文件复制到服务器,然后运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552692/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com