采用较复杂方案 Gitea + Jenkins + Nexus 后面两个都是内存爆炸的软件,如果你的服务器配置较低就去看方案二吧
软件介绍
Gitea
Gitea是新一代DevSecOps平台,包括项目管理,代码托管,代码审查,安全扫描,CI/CD,制品库等功能,简单来说就是个自建的git服务。
Jenkins
Jenkins 是一个开源的自动化服务器软件,用于实现持续集成和持续交付(CI/CD)流程。它提供了强大的工具和插件来帮助开发团队自动构建、测试和部署软件。
Nexus Registry
Nexus Repository是一个功能强大的软件仓库管理工具,用于支持软件开发和构建过程中的软件组件管理。它可以存储和管理各种软件组件,如库文件、Jar包、Docker 镜像、NPM包、Maven构建等。在本文中选择其作为docker镜像仓库,事实上我预先的想法是使用 Harbor 作为镜像仓库,但是 Harbor 功能上更贴近微服务的概念, 是个云原生容器镜像仓库,功能太过强大,不太适合我们的小服务器(即个人或小团队)来折腾,而且我现在写的主要还是单体程序,不过我会放在2.0版本来写(如果有的话)。
使用安装软件
开始看这之前,你必须要掌握 Docker 和 Docker compose ,通过这两样我们可以很愉悦地完成大多数软件的安装与配置。
实现的流程基本上是下图: