ansible-playbook
---
- hosts: windows
tasks:
- name: backup webapp
win_shell: 'move D:\tomcat\WEB-INF D:\Y4ECSRUN\webapp\\WEB-INF-{{ DATE }}bak'
- name: copy package
win_copy: 'src=/ansible-playbook/WEB-INF.zip dest=D:\tomcat\webapp\WEB-INF-{{ DATE }}.zip'
- name: unzip package
win_unzip: 'creates=no src=D:\Y4ECSRUN\webapp\hanwang-test\WEB-INF-{{ DATE }}.zip dest=D:\Y4ECSRUN\webapp\hanwang-test\'
- name: stop java service
raw: 'taskkill /F /IM java.exe /T'
- name: start tomcat service
win_command: 'chdir=D: .\startup.bat'
执行命令
ansible-playbook -e DATE=`date +%Y%m%d` deploy-tomcat.yml
报错:
[WARNING]: ERROR DURING WINRM SEND INPUT - attempting to recover: WinRMOperationTimeoutError
解决
修改配置文件/etc/ansible/hosts,添加两个配置
ansible_winrm_operation_timeout_sec=600 ansible_winrm_read_timeout_sec=900
- 其中read_timeout_sec的值要大于operation_timeout_sec的值
[windows]
10.141.3.11
[windows:vars]
ansible_port=5985
ansible_user=username
ansible_ssh_pass=password
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
ansible_winrm_operation_timeout_sec=600
ansible_winrm_read_timeout_sec=900