Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
gitbook
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
王南南
gitbook
Commits
f36f6503
提交
f36f6503
authored
10月 05, 2019
作者:
王南南
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加新文件
上级
9f9be509
流水线
#38494
已取消 于阶段
in 1 分 19 秒
变更
1
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
123 行增加
和
0 行删除
+123
-0
theme.md
content/part1/theme.md
+123
-0
没有找到文件。
content/part1/theme.md
0 → 100644
浏览文件 @
f36f6503
# 运维统一规范
**整理人**
|
**版本**
|
**修订时间**
|
**参与人**
:----|:----|:----|:---
王南南|1.0|2018/12/18|蔡东坡,崔宇峰,王南南
王南南|1.1|2019/6/5|王南南
---
## 目录
-
[
一、服务器配置规范
](
#服务器配置规范
)
-
[
二、项目相关规范
](
#项目相关规范
)
-
[
三、部署规范
](
#部署规范
)
-
[
四、其他规范
](
#其他配置规范
)
---
### 服务器配置规范
1.
**新服务器购买首次配置规范**
*
端口修改:修改ssh端口统一为2222
*
创建以姓名简称的用户名,禁止root用户远程登录
*
额外磁盘挂载至 /qj 目录下
*
保证服务器最小化,不在服务器上安装不必要的软件
*
所有运维用的密码必须9位以上,并且必须包括(字母+数字+特殊字符尽量避免使用@符号)
*
云服务的安全组设置尽量最小化,禁止开放项目端口,如需测试开启,完成之后立即关闭,如需在安全组永久开放某个端口,请在群里申请并写明理由!安全组授权的ip地址必须为特定ip,禁止0.0.0.0/0
2.
####
**文件存储规范**
*
所有的容器映射的目录为/qj/
`$ServerName`
(ServerName带指具体服务名称)
*
脚本存放路径/qj/script
*
脚本名称命名要有意义,见名知其意,多个单词之间用_(下划线)链接
脚本名称格式:
`动词`
\_
`谓词`
的形式展现 如:
`create_finance_1.7`
*
线上所有的文件不能直接删除,清理文件放置到/qj/rmback文件中,至少保存7天以上才能真正删除 ,如果该文件没有手动创建
3.
**软件安装规范**
*
多个服务器之间安装位置要统一,如用安装工具安装放置默认路径,编译安装放置到/usr/local路径下
详情请见:
[
公司常用软件安装文档
](
http://git.allhome.com.cn/devops/issues/blob/master/%E8%BF%90%E7%BB%B4%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%E6%96%87%E6%A1%A3/%E5%85%AC%E5%8F%B8%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6%E5%AE%89%E8%A3%85%E6%96%87%E6%A1%A3.md
)
*
没有特殊要求多个服务器相同软件的版本要统一
*
没有特殊要求尽量避免编译安装软件,尽可能使用安装工具安装
4.
**日常操作规范**
` - 对重要文件进行操作的时候,提前做好备份,保证出现问题时可以进行回滚 (重点)`
` - 线上任何服务操作,一定一定做好备份,确保数据不能丢失,以及回滚策略,了解涉及到的相关人员,充分了解可能出现的问题,确保所有相关人员在场的情况下方可操作`
-
对线上数据库每天进行远程备份,备份到站内187服务器。
-
`/qj/script`
中的内容必须使用gitlab代码管理器进行管理,与git服务器中的脚步保持同步
[
脚本上传路径:
](
http://git.allhome.com.cn/management/devops/issues/tree/master/script%E8%84%9A%E6%9C%AC
)
-
所有的安装配置操作都要以makdown文件记录,推送到git相应目录下
[
配置类文档路径:
](
http://git.allhome.com.cn/management/devops/issues/tree/master/%E8%BF%90%E7%BB%B4%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE%E6%96%87%E6%A1%A3
)
[
服务器信息记录:
](
http://git.allhome.com.cn/management/devops/issues/tree/master/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BF%A1%E6%81%AF%E6%96%87%E6%A1%A3
)
[
运维软件包路径:
](
https://git.allhome.com.cn/management/devops/issues/tree/master/%E8%BF%90%E7%BB%B4%E5%B8%B8%E7%94%A8%E8%BD%AF%E4%BB%B6%E5%8C%85
)
[
**<p align="left">>>返回目录<<</p>**
](
#目录
)
### 项目相关规范
1.
**端口规范**
**作用域**
|
**端口范围**
:--------|:------
前端项目|7000-7999
后端项目|8000-8999(避免使用特殊端口如8080)
特殊项目端口|eureka:4025,4026
其他服务(如redis固定端口6379)|不许用原服务端口
说明|1. 前端后端同一个项目的端口尽可能一致,例如活动助手前端项目7001,活动助手后端端口定义为8001 2. 会员账号里面的安全组端口最小化开放原则即能不开的端口就不开.以内网端口为主
2.
**容器名称规范**
**容器类型**|**命名规则**
:--------|:------
项目 |field_project_language (field:领域,project项目名,language:编程语言)
服务类(例如nginx)|见名知义,如果有 serverName_version_fuction 举例mysql_5.7_allmaster
3.
**容器版本**
*
开发进度版本
4.
**项目整理**
*
新增上线项目必须添加到adminSet项目管理中
### 部署规范
1.
**分支对应环境**
*
dev 分支发对应本地200环境,开发合并本地分支到dev分支自动部署
*
release 分支发布的项目对应这联通预生产服务器,开发自测没问题,开发发起合并请求,由运维人员合并dev到release的分支,发布预上线环境
*
master 分支发布的项目对应着生产服务器,运维人员根据测试人员的发起合并请求进行合并发布
线上发布条件:
1.
由测试发起更新线上请求,请求描述中包含修改bug
\完
成的功能,测试结果(通过测试)
2.
修复的bug测试环境无法测试,请求直接发布线上
*
(dev|release|master)_function 如同一项目需要部署不同版本(function 名称为全英文小写,并简明之一例如'Unified_login')
*
所有临时分支(指运维用到的发布分支,在不需要之后需要及时清理,保证分支的整洁)
*
所有的后端项目必须在release分支添加单元测试,不写单元测试的项目不进行发布
2.
**容器启动规范**
*
每个服务启动时,充分了解其端口意义,做好端口映射,为以后做扩容做准备
*
启动添加--restart=always 选项.保证服务器重启容器可以自动重启
*
将数据目录和配置文件的目录映射本地磁盘的相应位置(见
[
文件存储规范
](
#文件存储规范
)
,保证数据安全以及方便日后维护
*
Dockerfile 脚本版本基础镜像版本必须是提供的统一的镜像
[
镜像详细信息
](
https://git.allhome.com.cn/management/devops/issues/blob/master/script%E8%84%9A%E6%9C%AC/Dockerfile.md
)
*
gitlab.yml配置文件推送镜像必须使用内网
*
nginx配置文件统一命名:领域名称
\_
项目名
\_
语言.conf (重构项目:r领域名称
\_
项目名
\_
语言.conf)
### 其他配置规范
1.
**oss存储bucket创建规范**
*
命名规则:env-type (环境-存储文件类型)
*
除财务项目外,所有项目同一环境的相同类型文件在同一个bucket里,在bucket里创建以项目名命名文件对项目进行区分
文件名及子目录由运维这边统一创建
**buket名称**
|
**说明**
----------------|-------------
qjdev-pred-images|开发以及预生产环境图片bucket
qjprod-images |生产环境图片bucket
qjdev-pred-video |开发以及预生产环境视频bucket
qjprod-video |生产环境视频bucket
qjdev-pred-voice |开发以及预生产环境音频bucket
qjprod-voice |生产环境音频bucket (沃云上qjvoice,不要删除,供千家电话使用)
finance-images-dev_pred|财务环境图片bucket
finance-images-prod |财务生产环境图片bucket
2.
**二级域名命名规范**
*
线上环境域名:allhome.com.cn
*
命名规范:项目名简称(英文小写,简明知意)
*
预生产环境的名称在正式环境中域名前添加d.例如 生产环境活动助手meeting.allhome.com.cn ,预生产生产环境dmeeting.allhome.com.cn
*
前后端区分,在按照项目名分配域名的基础上后端项目添加back加以区分,例如活动助手的前端名称meeting.allhome.com.cn ,后端的域名为meetingback.allhome.com.cn
[
**<p align="left">>>返回目录<<</p>**
](
#目录
)
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论