Ops命名规范
前言
好的命名规范见名知义,可以极大的提高工作效率,对于运维工作的标准化至关重要,这里,分享本DevOps小组内讨论的命名规范,希望有参考意义,如果小伙伴们有好的建议或补充,欢迎留言。
1. ansible inventory 命名规范
1.1. 目录结构命名规范
inventory/ |-- all-vars |-- Aproject | |-- dev | |-- online | |-- pre | `-- test `-- Bproject |-- dev |-- online |-- pre `-- test
1.2. 主机条目命名规范
1.2.1. 主机条目:项目名-环境-模块-ip 例如:hnds-online-app-242(运营商无关,以-连接)
1.2.2. 主机组:
项目名-环境[-模块]-* 例如:hnds-online-web-*; hnds-online-*(开发测试不做分组,*只匹配主机条目)
项目名-环境-模块-功能 例如:dais-online-app-user(线上环境模块按需要分组)
2. 服务器上/etc/hosts 文件内容命名规范
ip 功能模块.项目名
例如:172.31.65.248 mysqlslave-crm.hnds; 172.31.65.250 mongodb-1.hnds
3. jumpserver中主机的命名规范
Hostname: 项目-环境-模块-ip 例如:dais-online-app-34
Comment: 运营商 区域 例如:azure singapore;aws hongkong
4. 域名、nginx配置文件以及配置文件中upstream组、静态网页目录命名规范
4.1 域名命名规范
项目-环境-模块-角色.二级域,例如:dais-dev-www.glinux.top; hnds-test-manager.glinux.top (角色:www、manager、api、market等)
4.2 nginx配置文件命名
4.2.1. 域名.conf,例如:dais-dev-www.glinux.top.conf;hnds-test-manager.glinux.top.conf
4.2.2. upstream-项目-环境.conf,例如:upstream-hnds-dev.conf
4.3 nginx关于upstream组命名
项目-环境-模块-角色,例如: hnds-dev-manager-api、 hnds-dev-manager-websocket、dais-online-user-websocket
4.4 静态网页目录命名规范
仓库名-环境(分支),例如:hnds-bitcoin-online
5. gitlab仓库的命名规范以及tag的命名规范
5.1. gitlab仓库命名规范
5.1.1. 先创建new group(fe/java/ios/andriod/c),例如:java、ios。
5.1.2. 再创建new subgroup(项目组),例如:hnds,hnds。
5.1.3. 再创建new project(项目模块),例如:manager,user,utils。
5.1.4. 例如:git@gitlab.htrader.cn:java/hnds/utils.git 注:项目组名必须全部小写
5.1.5. jar包命名规范 项目组-项目模块:hnds-utils.jar
5.1.6. 仓库权限单独另外设置
5.2. tag的命名规范
主版本.次版本.bug版本.内部版本(时间)-项目组-项目模块,例如:1.4.1.20180428-hnds-utils
6. jenkins的job以及视图的命名规范
6.1. job的命名规范
6.1.1. 环境-项目组名-项目模块名,例如: dev-hnds-utils
6.1.2. 项目无关:运维-功能,例如:ops-ansible,ops-wiki
6.2. 视图命名规范
项目/环境/分类,例如hnds/online/api,hnds/online/jar,hnds/online/h5
7. 服务器hostname的命名规范
项目-环境-模块[-角色]-ip,例如:dais-online-app-33, dais-online-mysqlmaster-pay-17
特殊情况:web-172.16.229.226,表多项目的web服务器
8. 发布应用至服务器目录和文件夹命名规范
发布到服务器上的应用:
8.1. 后端jar包: 在/data/server/项目组-项目模块,比如,/data/server/hnds-utils
8.2. 前端静态页面: 在/data/static/项目组-项目模块-环境,比如/data/static/hnds-web-dev
8.3. 日志目录: jar包的日志存放在/data/logs/项目组-项目模块,比如/data/logs/hnds-utils/
8.4. 数据库: 数据目录/data/mysqldata,备份目录/databackup
参考
- app – Application Server (non-web)
- sql – Database Server
- ftp – SFTP server
- mta – Mail Server
- dns – Name Server
- cfg – Configuration Management (puppet/ansible/etc.)
- mon – Monitoring Server (nagios, sensu, etc.)
- prx – Proxy/Load Balancer (software)
- ssh – SSH Jump/Bastion Host
- sto – Storage Server
- vcs – Version Control Software Server (Git/SVN/CVS/etc.)
- vmm – Virtual Machine Manager
- web – Web Server