【实践】Jenkins+gitlab自动化部署java应用
文章目录
本文知识点:
- docker部署Jenkins、gitlab
- gitlab重置root密码
- 自动构建部署java web应用
持续集成(continuous Integration ,CI):代码合并、部署、自动化测试都在一起,不断执行这个过程,并对结果反馈
持续交付(continuous Delivery,CD):是一种软件工程方法,让软件的产出过程在一个短期完成,以保障软件都可以稳定、持续的保持在随时可以发布的状态。与CI相比,CD偏重于可交付的产物
持续部署(continuous Deloyment,CD):通过自动化部署的手段将软件频繁的交付到期望的环境
实验环境
系统:ubuntu20
主机 | 环境 |
---|---|
192.168.31.160 | dokcer部署Jenkins、gitlab |
192.168.31.152 | 部署目标tomcat应用 |
160主机
Maven是一个采用Java编写的开源项目管理工具,采用一种称为Project object model(POM)概念来管理项目,所以项目配置信息定义在一个叫做POM.xml文件中,通过该文件管理项目的整个生命周期,包括清除、编译、测试、报告、打包、部署等
nexus
Nexus 是一个 Maven 仓库管理器,它提供了一个中央存储库来管理和分发软件包、依赖项和构建产物。它支持多种软件包格式,包括 Maven、npm、Docker 和 NuGet 等。
以下是 Nexus 的一些应用场景:
用作 Maven 中央存储库:Nexus 可以作为 Maven 中央存储库,用于存储和分发 Maven 构件和依赖项。它可以通过 Maven 命令行或 Maven 插件进行访问和使用。
用于构建和部署 Docker 镜像:Nexus 可以用作 Docker 镜像仓库,用于存储和分发 Docker 镜像。它还可以与 Jenkins 等 CI/CD 工具集成,用于构建和部署 Docker 镜像。
用于管理 npm 包:Nexus 可以用作 npm 仓库,用于存储和分发 Node.js 包。它可以与 npm CLI 和其他 Node.js 工具集成,并提供了包括安全扫描、镜像同步、包版本控制等功能。
用于管理 NuGet 包:Nexus 可以用作 NuGet 仓库,用于存储和分发 .NET 包。它可以与 Visual Studio 和其他 .NET 工具集成,并提供了诸如包版本控制、安全扫描、镜像同步等功能。
私有仓库:Nexus 可以用作企业或组织的私有仓库,用于存储和管理自定义软件包和构建产物。它可以根据需要进行定制和扩展,并提供了许多安全和管理功能,例如访问控制、角色管理、日志记录等。
</