本文章用于描述如何从零开始进行阿里云仓库的搭建,以及过程中遇到的相关问题。涉及的内容包括 Docker,Nginx,Nexus,Gitlab,Https。
背景
需要搭建一个简单的用于研发的仓库环境,以保证私有 npm 包,maven 包,docker 包能正常管理;代码能正常进行 Git 版本管理。
目标:
-
1. 硬盘挂载
- 阿里云 linux 额外购买的硬盘服务,需要仅挂载后才可以正常使用。
-
2. 代码仓库 Gitlab
- 私有代码仓库,主要用于管理代码版本,以及相关文档等内容
-
3. 包仓库 Nexus(npm,maven,docker)
- 私有包管理仓库,用于作为 npm,maven,docker 私服使用。也可以作为内网镜像加速拉去包的过程。
-
4. 域名代理 Nginx, 免费 Https
- 代理 gitlab,nexus 的域名通过阿里云域名解析暴露到外网。
主要章节
- 1、基本概述
- 2、服务购置 + 硬盘挂载 +Docker 环境
- 3、代码仓库 Gitlab
- 4、包仓库 Nexus
- 5、域名代理 Nginx+ 免费 Https
整体流程
购置流程
- 购买域名
- 购买服务器
- 设置安全组
- 设置硬盘挂载
- Docker 环境
访问流程
- 客户端 -> 阿里云域名解析
- 阿里云域名解析 ->nginx 服务器 80/443 端口
- nginx 服务器 -> 二级域名解析到 gitlab/nexus 服务器端口
完成搭建后可以使用以下域名进行服务的使用
域名 | 作用 |
---|---|
http://gitlab.xxx.com | gitlab 的访问 |
http://nexus.xxx.com | nexus 管理页,npm/maven 私服上传拉取 |
https://gitlab.xxx.com | gitlab 的访问 |
https://nexus.xxx.com | nexus 管理页,npm/maven 私服上传拉取 |
https://nexus-docker.xxx.com | docker 登录上传拉取 |
基本思路
- 1、【Docker 部署】使用 Docker 作为服务的主要部署手段,以便快速部署升级。目前 Gitlab 以及 Nexus 能很方便的使用 Docker 进行快速部署。
- 2、【Docker 私服】docker 私服需要独立的域名,并且为 https。所以此处我们需要用到 Https
- 3、【Https】我们需要建立多个二级域名,此处教程主要讲解如何使用免费的 Https 进行搭建(有条件的同学请可以直接购买,应用步骤是一样的)