【问题标题】:Powershell vs Console application for deployment用于部署的 Powershell 与控制台应用程序
【发布时间】:2016-06-15 14:39:26
【问题描述】:
我们的应用程序需要简单地将一些文件从源复制到目标并根据环境操作配置文件。我们使用 Jenkins 进行部署。由于我对 C# 很熟悉,我想编写简单的控制台应用程序 (.exe) 并通过传递一些命令行参数在部署后调用该 exe。我认为这会奏效。
但我看到人们推荐使用 power-shell 进行部署。我已经将 PS 用于其他项目进行部署。
我只是想知道 powershell 能做什么而 Windows 控制台应用程序不能做什么?
【问题讨论】:
标签:
powershell
jenkins
windows-console
【解决方案1】:
由于 PowerShell 可以在 C# 中完全嵌入(不是真正正确的术语,但它适用于这种解释),所以您可以在 C# 中实现 in PowerShell 中无法实现的任何事情。
您也可以在 PowerShell 中嵌入 C#,但由于各种原因,您无法获得与 .exe 完全相同的功能范围。
使用 PowerShell 的意义在于它是部署步骤的一部分。
PowerShell 命令或脚本更容易更改。不需要构建过程。
它的内容对于想要了解该过程的人来说更容易看到和阅读。
编写的代码将(可能)不那么冗长,进一步使其更易于理解,并且对于部署步骤,在 PowerShell 中执行这些步骤可能更直接(一个 cmdlet 可能会执行几个(十几个) C# 中的行)。