一、前言
在开发过程中项目的发布上线尤其是令人头疼的一个环节,代码更新、配置、编译、发布,每一个环节都需要人工参与的情况下,单个项目或许尚且能够接受,但如果多个项目的情况下,对于运维工作会是一场灾难。
另一方面,在部署项目时,系统的环境往往也是困扰着运维人员的一个因素,是Ubuntu还是CentOs,版本是8是7还是6,环境的因素很大程度上会影响部署的应用,更遑论每个应用间还会相互干扰。
因此引入了Docker+Jenkins,要实现的需求很简单,第一部署不再需要关心系统环境,每个应用独立运行;第二部署自动化,代码能够发布后不管。
再者,目前微服务盛行,而集群运维也越来越多的交给k8s,要上这两个首先容器化和部署自动化都是必须走的第一步。
二、准备
2.1 采用技术栈
- 应用容器引擎:Docker
- 容器编排工具:Docker-Compose
- 可视化容器管理工具:Portainer
- 持续集成工具:Jenkins
2.2 工作空间目录结构
├── jenkins_home (jenkins工作空间映射目录)
├── nginx (nginx容器映射目录)
│ ├── conf (nginx配置文件)
│ ├── html (前端项目部署目录)
│ └── l