🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、项目部署 ### 脚本目录介绍 ```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 ```