Test Playbooks
inventory/ Server详细清单目录 保存目标主机的相关域名和目标地址
testenv 具体清单与变量声明文件
roles/ roles任务列表
testbox/ testbox详细任务
tasks/
main.yml testbox主任务文件
deploy.yml Plakbook任务入口文件
testenv
#详细目录testenv
[testservers] #server组列表
test.example.com #目标部署服务器主机名
[testservers:vars] #server组列表参数
server_name=test.example.com
user=root #目标主机key/value参数
output=/root/test.txt
主任务文件main.yml
-name: Print server name and user to remote testbox
shell:"echo 'Currently{{user}} is logining {{server_name}}' > {{output}}"
#变量来自testenv
任务入口文件deploy.yml
- hosts:"testservers"
gather_facts:true
remote_user:root
roles:
- testbox
SSH免密码密钥认证
Ansible服务器创建SSH本地密钥
ssh-keygen -t rsa
简单操作
mkdir test_playbooks
mkdir inventory
mkdir roles
deply.yml
- hosts: "testservers"
gather_facts: true
remote_user: root
roles:
- testbox
testenv
[testservers]
xx.com
[testservers:vars]
server_name=xx.com
user=root
output=/root/test.txt
~
main.yml
- name: print server name and user to remote testbox
shell: "echo 'Currently {{ user }} is logining {{server_name }}' > {{output}}"
hosts
在ansible服务器里面
ssh-keygen -t rsa
ssh-copy-id -i /home/deploy/.ssh/id_rsa.pub root@xxx.com
ansible-playbook -i inventory/testenv ./deply.yml