问题描述
想要了解在Java代码开发中,最佳的Git解决方案是什么。他考虑是否需要搭建自己的Git服务器,以便开发人员(Linux、Mac、Windows)可以使用他自己的Git服务器。他还想知道Jenkins和Maven是否是更好的解决方案,以及它们的好处是什么。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
Git服务器
在团队中设置一个Git服务器是最佳实践。这样你就有了一个可以维护、备份和专注于提供源代码的中央服务器。
虽然你可以创建自己的Git服务器,但也有几个流行的商业选项可供选择,通常提供免费的私有仓库(非详尽列表):
– Bitbucket
– GitHub
– AWS CodeCommit
Git服务器只是你的代码的存储库。它将允许使用像Pull Requests这样的工作流来更好地管理不断变化的代码库。然而,Git服务器不会构建你的代码或将其部署到任何地方。
Jenkins
Jenkins实际上不会存储你的源代码。它是一个用于持续集成(CI)和持续部署(CD)的工具,是DevOps文化的重要组成部分。基本思想是Jenkins服务器将放入你的Git服务器的源代码,确保它编译通过、自动化测试通过,甚至可能部署到你的测试环境。像Jenkins这样的工具可以与多种编程语言一起使用。
Maven是一个专门用于构建Java项目的工具。像Jenkins这样的工具通常有使用Maven构建项目的选项。
在为每个人提供一个一致的存储代码的地方之后,设置一个CI/CD工具(如Jenkins)将是一个很好的下一步。
最佳解决方案
Gitlab、Bitbucket Pipelines、Azure DevOps是三个既可以托管Git仓库又可以进行CI/CD的工具的示例。有许多可用的Git和CI/CD选项,你甚至可以组合使用它们,如果你选择不选择一个一体化的解决方案。哪个工具最好是基于个人意见的,最佳实践是使用一个帮助管理你的Git仓库的工具,以及一个用于CI/CD的工具。
评论:
1. Gitlab也是一个非常好的选择。此外,它还提供集成的CI,因此不需要Jenkins。
2. 那么我可以在自己的服务器上安装Gitlab解决方案,而不需要Jenkins吗?
3. @genderbee 正确。Gitlab、Bitbucket Pipelines、Azure DevOps是三个既可以托管Git仓库又可以进行CI/CD的工具的示例。有许多选项,你甚至可以组合使用它们。哪个是最好的是基于个人意见的,但最佳实践是使用一个Git工具和一个用于CI/CD的工具。