Files
Kubernetes/CICD/Ansible/demo.yml
2025-08-25 17:53:08 +08:00

174 lines
6.3 KiB
YAML

- name: demo
# hosts: master,node # 指定多个主机组
hosts: all
tasks:
#############################################################################################
# 拷贝文件
#############################################################################################
- copy:
src: ./demo.tar
dest: /root/demo.tar
# 强制拷贝
force: yes
#############################################################################################
# 执行命令
#############################################################################################
# 执行命令 getenforce 并将结果保存到 out 变量
- shell: getenforce
register: out
# 引用 out 变量, 输出结果
- debug: msg="{{out}}"
# 当 out.stdout 不等于 Disabled 时执行命令
- shell: mkdir dingh
when: out.stdout != "Disabled"
#############################################################################################
# 安装软件
#############################################################################################
- yum:
name: wget
# 状态[默认 present], present 安装, absent 卸载, latest 更新
state: present
#############################################################################################
# 替换文件内容
#############################################################################################
- replace:
# 文件路径
path: /etc/selinux/config
# 正则表达式
regexp: "SELINUX=enforcing"
# 替换内容
replace: "SELINUX=disabled"
#############################################################################################
# 管理服务
#############################################################################################
- service:
# 服务名称
name: docker
# 状态[默认 started], started 启动, stopped 停止, restarted 重启, reloaded 重新加载
state: restarted
enabled: yes
#############################################################################################
# 创建用户
#############################################################################################
- user:
# 用户名
name: demo
# 状态[默认 present], present 创建, absent 删除
state: present
#############################################################################################
# 创建组
#############################################################################################
- group:
# 组名
name: demo
# 状态[默认 present], present 创建, absent 删除
state: present
#############################################################################################
# 创建目录
#############################################################################################
- file:
# 目录路径
path: /root/demo
# directory 目录
state: directory
# 权限
mode: 0755
# 所属用户
owner: demo
# 所属组
group: demo
#############################################################################################
# 创建软连接
#############################################################################################
- file:
# 文件路径
path: /etc/localtime
# link 链接
state: link
src: /usr/share/zoneinfo/Asia/Shanghai
#############################################################################################
# 删除软连接
#############################################################################################
- file:
path: /root/demo
state: absent # 删除软连接
force: yes
#############################################################################################
# 创建文件
#############################################################################################
- file:
# 文件路径
path: /root/demo
# touch 创建文件
state: touch
#############################################################################################
# 引用模板
#############################################################################################
- template:
# 模板文件
src: ./demo.j2
# 目标文件
dest: /root/demo
# 权限
mode: 0755
# 所属用户
owner: demo
# 所属组
group: demo
# 变量
vars:
name: World
#############################################################################################
# 配置环境变量
#############################################################################################
- lineinfile:
# 文件路径
path: /etc/profile
# 正则表达式
regexp: "export PATH"
# 插入内容
line: "export PATH=$PATH:/usr/local/bin"
#############################################################################################
# 配置 crontab 定时任务
#############################################################################################
- cron:
# 任务名称
name: "demo"
# 任务内容
job: "echo 'hello' > /root/demo.log"
# 任务状态[默认 present], present 创建, absent 删除
state: present
#############################################################################################
# 忽略错误
#############################################################################################
- command: echo "hello"
# 忽略错误
ignore_errors: yes
#############################################################################################
# 调试信息
#############################################################################################
- debug: msg="hello world"
#############################################################################################
# 循环
#############################################################################################
- debug: msg="{{ item }}"
with_items:
- 1
- 2
- 3