# ansilbe-awx-script **Repository Path**: asherk/ansilbe-awx-script ## Basic Information - **Project Name**: ansilbe-awx-script - **Description**: ansible搭配awx使用的脚本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-27 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ansible 部署脚本 这是一个 Ansible 部署脚本项目,用于自动化配置和部署各种服务。该项目包含多个角色,每个角色负责特定的任务,如检查系统配置、安装软件、配置服务等。 ## 主要功能 - **主机配置**:设置 Ansible 主机的连接信息。 - **YUM 模块**:使用 YUM 安装依赖和软件包,支持指定版本和默认版本安装。 - **文件模块**:创建多个目录。 - **状态模块**:检查文件是否存在。 - **其他功能**:如重命名目录等。 ## 使用示例 ### 主机配置 在 `group_vars/all.yaml` 中配置主机信息: ```yaml ansible_host: 192.168.1.10 ansible_port: 22 ansible_user: ubuntu ansible_password: "your_password" ``` ### YUM 模块 安装多个依赖并指定版本: ```yaml - name: 安装多个依赖并指定版本 yum: name: "{{ item.name }}" state: present version: "{{ item.version }}" loop: - { name: 'httpd', version: '2.4.6-90.el7.centos' } - { name: 'mariadb', version: '10.5.8-1.el7.centos' } - { name: 'php', version: '7.4.14-1.el7.remi' } ``` 安装多个依赖默认版本: ```yaml - name: 安装多个依赖默认版本 yum: name: - gcc-c++ - make state: present ``` 安装单个软件,指定版本: ```yaml - name: 安装单个软件,指定版本 yum: name: httpd state: present version: 2.4.6-90.el7.centos ``` ### 文件模块 创建多个文件夹: ```yaml - name: 创建多个文件夹 file: path: "{{ item }}" state: directory with_items: - /path/to/your/directory1 - /path/to/your/directory2 - /path/to/your/directory3 loop_control: loop_var: dir_path ``` ### 状态模块 检查文件是否存在: ```yaml - name: 检查文件是否存在 stat: path: /path/to/your/file register: file_status - name: 打印文件状态 debug: msg: "文件存在" when: file_status.stat.exists - name: 打印文件状态 debug: msg: "文件不存在" when: not file_status.stat.exists ``` ### 其他功能 重命名目录: ```yaml - name: 更改目录名称 shell: mv {{jdk_install_dir}}/{{jdk_file_name}} {{jdk_install_dir}}/jdk8 args: warn: false # 忽略警告,比如覆盖 become: yes ``` ## 项目结构 该项目包含多个 Ansible 角色,每个角色负责特定的任务。主要角色包括: - `checkDiskSize`:检查磁盘大小。 - `checkInternet`:检查互联网连接。 - `checkMachineConfiguration`:检查机器配置。 - `checkMemtotal`:检查内存总量。 - `checkNetworkUsually`:检查网络状态。 - `checkProcessorCores`:检查处理器核心数。 - `cloud-service`:配置云服务。 - `downloadSoft`:下载软件。 - `emqx`:配置 EMQX。 - `gateway-lite`:配置网关。 - `initAndBackupJob`:初始化和备份任务。 - `jdk17` 和 `jdk8`:配置 JDK。 - `localYumSource`:配置本地 YUM 源。 - `magiclinkpower`:配置 MagicLinkPower。 - `milkyway`:配置 Milkyway。 - `minio`:配置 MinIO。 - `mysql`:配置 MySQL。 - `nginx`:配置 Nginx。 - `rabbitmq`:配置 RabbitMQ。 - `redis`:配置 Redis。 - `restartService`:重启服务。 ## 部署 使用 `simplifyDeploy.yml` 文件来简化部署流程。根据需要修改配置文件并运行 Ansible playbook。 ## 贡献 欢迎贡献新的角色和功能。请提交 Pull Request 或 Issue。 ## 许可证 该项目使用 MIT 许可证。详情请查看 LICENSE 文件。