我有一个非常具体的问题,需要大量与服务器和大量构建/测试/部署工具相关的知识。
我为.NET构建了一个持续的传递管道,但是我这样做的方式最终看起来有点贵。我们还没有建立一个团队,这个团队将逐渐成长为几个项目 - ASP .NET MVC。
默认情况下,我必须使用Visual Studio,Jira和BitBucket Cloud。所以我添加了NUnit和Resharper来测试和代码质量指标。我还添加了TeamCity作为CI工具。最后,我决定使用Octopus Deploy实现自动化部署工具。
正如您可能猜到的那样,这非常昂贵。我们已经支付了Visual Studio,Jira和Bitbucket的费用。除此之外,Resharper和TeamCity一样是一个付费工具,虽然它在开始时是免费的,但是在这个过程增长之后(超过3个构建代理)变得非常(荒谬)昂贵。八达通部署也很昂贵。
所以,现在我想替换我使用过的一些工具。但是,很难选择新的,因为我读到的所有资源都在考虑不同的方面。我想要一个管道,在其中检测哪个分支被提交并基于此编译解决方案(+ nuget包),运行单元测试,如果一切都很好地自动将具有新提交的版本部署到指定环境。优先级是价格以及使用.NET应用程序实现它的难易程度。我还没有找到一个解决方案,它可以与其余的一起工作并适应图片。
我看了一下Jenkins和MSDeploy,但需要就上面指定的内容提出建议。它也应该是一个可行的解决方案,因为它必须设置一次而不再处理很多。
答案 0 :(得分:2)
Visual studio,jenkins,nexus,jira,gitblit。
Jenkins,nexus和gitblit是免费的。 Jenkins将调查gitblit的更改,运行构建,使用nuget插件生成包并将其上传到nexus,它可以被visual studio使用。
詹金斯也可以用来部署,它可能需要比章鱼更多的工作,但所有章鱼的重新安装是一堆很好的PowerShell脚本,你只需要在你的jenkins构建工作中自己编写。e.g。 jenkins部署作业以将java应用程序部署到linux服务器,
答案 1 :(得分:1)
如果你的优先级实际上是用.NET实现的那么容易,我宁愿整天去为TeamCity而不是Jenkins。我和两者都合作过,TeamCity更可靠。詹金斯给我带来了很多问题,浪费了相当多的时间。
考虑在使用Octopus或其他工具之前手动部署一段时间。使用.NET通常可以在一两分钟的时间内发布任何应用程序。你每天要进行多少次部署?如果你需要立即使用这样的工具,它应该是非常密集的东西。
基本上我会说要保持配置,然后放弃八达通。你会注意到从TeamCity到Jenkins(代表.NET)的一大步。