我们有一些ASP.NET web应用程序,它以两种方式使用:
目前我们使用国产安装程序,但考虑一下是否可以用更方便、更适合CI/CD开发周期的方法来替换它。
哪些技术/产品可以使用?目前我正在考虑for部署,但不确定如何将其应用于企业设置.
发布于 2017-03-24 12:46:06
这是一个相当广泛的问题,但我认为这是值得回答的。
1. (部分)开放源码解决方案
配置CI周期的一种方法是使用Jenkins和MS部署功能。这篇文章展示了如何快速设置一个作业,以便将Jenkins与msdeploy工具集成。
基本上,它配置一个作业以使用Powershell执行部署:
msdeploy.exe -allowUntrusted=true -verb:sync -source:contentpath='D:\WS\ExampleProject' -dest:contentpath=F:\webfolder,computerName=exampleproject.example.com,Username='yourdomain\username',Password='password' -skip:objectName=dirPath,absolutePath="config" -skip:objectName=filePath,absolutePath="web.config"它还告诉执行用户应该是目标服务器上的管理员,但可以通过正确配置这篇文章中所示的来规避这一问题。
在Jenkins集成(我建议这样做)之前可以完成的一个中间步骤是配置Web部署。这样可以快速检查是否可以使用Visual和任何允许部署的配置用户在目标服务器IIS上执行部署。它还允许快速查看当前代码库(网页、JS文件、二进制文件)和目标服务器部署包之间的差异。
2. Visual 2017 DevOps解决方案
微软最近发布了VS 2017,其中包含了对DevOps的大力支持,它处理了大多数与CI/CD相关的问题。我找不到参考,但我记得这个特性只适用于企业版。此外,好消息是,微软的技术并没有被收紧。
与主题相关的演示文稿可以找到这里。
我认为WebDeploy可以在没有重大问题的情况下使用。根据我的经验:
发布于 2017-03-29 01:25:52
最近,我看到一个供应商为想要在现场部署的客户提供与云部署相同的Docker映像。看起来是个很好的,干净的,解决办法。
另一种选择是nuget包-托管您自己的存储库。然后使用像八达通部署这样的工具进行部署。我不是很熟悉它,但这两种解决方案看起来很容易在最初的驼峰在设置。
https://stackoverflow.com/questions/42898519
复制相似问题