6.1 项目初始化手册
最后更新于:2022-04-02 07:45:17
## 一、项目部署
### 脚本目录介绍
```shell
1. 首层按照名称划分
2. 第二层按照版本或子项目名划分(之后统称子项目)
3. 公共变量放在hosts/group_vars/all.yml中
4. 每个子项目的vars放在子项目playbook所在目录的roles中
例如:software中的cmake子项目,自有变量放在software/cmake/roles/vars/
```
### 源码文件
```shell
1. 如需某些版本,请自行下载到子项目的files目录中
2. 例如,MySQL 出了9.0 只要部署方式不变,只要下载到MySQL项目的files目录,部署时传9.0的版本号即可
```
### 前置操作
ansible部署和优化
```shell
# 安装ansible,方式多样,按需部署
yum install ansible
# 调整ansible参数
host_key_checking = False
# 开启SSH长链接,修改ssh_args参数
ssh_args = -C -o ControlMaster=auto -o ControlPersist=365d
# 开启SSH piplining(如使用sudo,要关闭目标主机/etc/sudoers中的requiretty)
# SSH piplining减少了执行所需ssh操作的数量
pipelining = True
# 配置facts启动缓存模式
gathering = smart
# 配置facts缓存到Json文件(二选一)
fact_caching = jsonfile
fact_caching_connection=/tmp/ansible_facts_cache
# 配置facts缓存到Redis(二选一)
fact_caching = redis
fact_caching_connection=127.0.0.1:6379:0
# 开启
# ansible到主机的免密钥登录
```
下载项目,按需调整配置
```shell
1. 进入项目目录
cd /root/ansible-playbook-repo/playbooks_init_Service
2. 编辑host/hosts
3. 编辑group_vars变量
4. 编辑子项目vars/main.yml
```
### 关于变量覆盖
```shell
可通过传参的方式覆盖group_vars中配置的变量,比如MySQL默认端口想用3307,通过-e "mysql57_port=3307"即可
```
### 常见参数
```
# 分步执行
--step
```
';