打包和部署ASP.net应用程序以实现持续交付

时间:2016-02-11 21:25:56

标签: asp.net jenkins msbuild nuget

我来自Java,PHP和NodeJS开发的背景。我已经使用基于Linux平台的这些语言成功构建了持续集成/持续部署环境,但现在我在一个混合使用.NET Web开发和基于Java的Web开发的环境中工作。

我想建立一个尽可能分享工具和概念的CI / CD环境。过去工作的工作流程似乎非常标准:

  1. 将代码检入Git
  2. Jenkins检查代码,运行测试
  3. 如果测试通过
  4. ,Jenkins会构建代码
  5. Jenkins构建了一个包。 WAR文件,RPM等,并将其推送到神器仓库,Maven,Yum repo,Artifactory,Nexus等。
  6. Jenkins通过简单地拉出工件的正确版本并将其推送到给定的框来将包部署到给定的环境。我喜欢使用Ansible或Puppet或一些不错的配置管理工具来执行此步骤,并让它处理版本控制和特定于环境的更改。
  7. 我知道微软已经建立了可以做类似事情的工具,但我希望整个组织保持一致,我觉得詹金斯是黄金标准,并且已经进行了一百年的战斗测试,而微软的CI工具是相对的新。

    我能够设置一个基于Windows的Jenkins slave使用MSBuild插件编译代码(如果你感兴趣http://blog.couchbase.com/2016/january/continuous-deployment-with-jenkins-and-.net,这是一个很好的教程)。我坚持如何打包代码。我原以为NuGet会是一个很好的选择,但我似乎找不到任何关于为ASP.NET应用程序构建/部署NuGet包并部署它们的指导。我喜欢NuGet类似于Web应用程序zip文件,因为软件包是版本化的。

    NuGet是答案,还是有其他东西可以满足我的需求,还是我应该改变我对微软环境中CI / CD的想法?

0 个答案:

没有答案