软件构建和部署的最佳实践[关闭]

问题描述 投票:0回答:1

你们在项目中使用的最佳实践是什么。

当前,我正在使用Ant脚本来做一些项目构建工作,然后是Maven。目前,我们没有用于CI / CD的任何直接管道,但我想知道工业如何发展和塑造。我尝试了Gradle,发现它很酷。

因此,请详细说明如果某些公司要从头开始发展,你们认为这是最佳实践!

maven gradle ant
1个回答
1
投票

首先,IMO这个问题并不真正适用于人们问有关具体技术的具体问题的SO格式。这个问题太笼统了。

关于您在问题中提到的构建工具:

我想说,使用Maven和Gradle,您都可以实现下降的现代管道,另一方面,您可以开发可怕的gradle和maven(在某种程度上)脚本,这将成为维护噩梦的脚本。这些日期蚂蚁早已过时,因此我不会为新项目选择它。

Ant / Maven / Gradle只是构建工具,正确的CI / CD远不止于此。

根据您的应用程序类型,您可能需要了解以下内容:

  • git
  • nexus / artifactory
  • Jenkins或其他CI工具
  • 测试-这是一个非常广泛的主题
  • docker
  • kubernetes和在kubernetes上正确部署
  • 正确记录
  • 适当的测光
  • 等等,依此类推

如果您计划在云上运行,显然您将必须了解云所提供的功能。

我要强调的最后一个想法是,没有“一个适当的管道”之类的东西-每个公司都建立最适合他们的CI / CD管道。当然,某些管道是相似的,但是它们不必完全相同,也可以,因为:

  • 有些公司很小,有些很大
  • 每天多次发布,有些选择1/2年发布
  • 一些仅适用于Java(我理解您在问题中主要是指Java生态系统-其他还使用必须以某种方式协同工作的其他语言)>
  • [一些使用自己的服务器,其他人将应用程序托管在云中(在这里,另一个人使用AWS,其他人使用Google Cloud或Microsoft Azure,或者也许其他云提供商)
  • 依此类推
© www.soinside.com 2019 - 2024. All rights reserved.