前言

好的命名规范见名知义,可以极大的提高工作效率,对于运维工作的标准化至关重要,这里,分享本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

Ops:命名规范的更多相关文章

  1. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  2. Java命名规范

    驼峰法则: 将所有字母都小写(包括缩写),然后将单词的第一个字母大写. 每个单词的第一个字母都大写,来得到大驼峰式命名. 除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰式命名. 为避免歧 ...

  3. JavaScript知识点总结(命名规范,变量的作用域)

    命名规范 有人说JavaScript的宽容性是这个语言最糟糕的方面之一.比如说想把2个数字加在一起,JavaScript会把其中一个数字解析成字符串,那么就会得到一个奇怪的字符串,而不是2个数字的和. ...

  4. js的命名规范

                   js的命名规范   1.驼峰命名法:首字母是小写的,接下来的字母都以大写字符开头.例如: var testValue = 0; var oneValue = 10; 2. ...

  5. 浅谈Android编码规范及命名规范

    前言: 目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑. 现大框架已经完成,正在进行细节模块上的开发 抽空总结一下Android项目的开发规范:1.编码规范 ...

  6. [No000099]软件版本命名规范

    软件版本阶段说明 Base: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构. Alpha: 此版本表示该软件在 ...

  7. Google C++命名规范

    时间:2014.03.02 地点:基地 -------------------------------------------------------------------------------- ...

  8. javascript命名规范

    javascript命名规范 3.命名 命名的方法通常有以下几类: a).命名法说明 1).camel命名法,形如thisIsAnApple 2).pascal命名法,形如ThisIsAnApple ...

  9. Android 命名规范 (提高代码可以读性)

    android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以读性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名 ...

随机推荐

  1. 23.python虚拟环境配置

    1.安装 virtualenvwrapper-win pip3 install virtualenvwrapper-win 2.然后使用workon查看是否安装成功(workon是简化操作的神级命令之 ...

  2. GitHub上的计算机视觉学习资料推荐

    9月份将要读研,导师是做cv的,最近学习时找到了不少的计算机视觉的资料,记录一下,同时也分享给需要的朋友 assmdx/ComputerVisionDoc AceCoooool/interview-c ...

  3. axios封装的拦截器的应用

    axios拦截器   页面发送http请求,很多情况我们要对请求和其响应进行特定的处理:如果请求数非常多,单独对每一个请求进行处理会变得非常麻烦,程序的优雅性也会大打折扣.好在强大的axios为开发者 ...

  4. css写斜角

    项目开发中遇到了这样的效果,百度了一波,可以使用css3的伪类实现: /*斜角公用*/1.外层的div加class='wrapper' 并需要设置相对定位 .wrapper:before { -moz ...

  5. TensorFlow——TensorBoard可视化

    TensorFlow提供了一个可视化工具TensorBoard,它能够将训练过程中的各种绘制数据进行展示出来,包括标量,图片,音频,计算图,数据分布,直方图等,通过网页来观察模型的结构和训练过程中各个 ...

  6. netcore使用IOptions

    { "Logging": { "LogLevel": { "Default": "Information", " ...

  7. Js 数组按数量分部!

    使用 reduce 将数组分为几个部分,每个部分最多10个! 相比其他语言使用 js  实现这个逻辑非常的简单方便! var group = function (source, step) { if ...

  8. Flutter兼容AndroidX

    参考官方文档:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility 第一步 distribu ...

  9. P1850 换教室 期望dp

    P1850 换教室 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n2n 节课程安排在 nn 个时间段上.在第 ii(1 \leq ...

  10. 【ARM】---STM32位带操作总结---浅显易懂

    正在准备做毕业设计,配置LED_Config()的时候,又看到了位带操作的宏定义,我又嘀咕了,什么是位带操作,一年前在使用位带操作的时候,就查阅过好多资料,Core-M3也看过,但是对于博主这种“低能 ...