Ansible을 활용한 windows 서버에 배포 혹은 작업 하기
- Ansible을 업무에 사용하는데 아주 가~끔 Linux + Windows 로 서버가 통일되지 않은 사이트들을 구축해야 할 때가 있습니다.
- Linux의 경우 Ansible이 agentless 하게 ssh로 모든 작업이 이뤄지기 때문에 아무런 문제가 없지만
- Windows 서버의 경우 어떻게 해야 할지 막막하기도 하고 googling 해서 어찌어찌 하긴 하는데 계속 까먹어서 기록용으로 남기는 포스트 입니다.
# 준비사항
- ansible 2.0 이상
- 연결시키려는 윈도우 서버에서 ConfigureRemotingForAnsible.ps1 스크립트 실행 (링크 타고 github 들어가서 ps1파일 다운로드)
# windows에 접속하기 위해 계정정보, 포트, winrm 설정
- group_var 설정 (windows.yml 등으로 생성)
1 | # windows 서버의 subset name |
# playbook 작성 (예 windows file check하는 task)
a. 실행명령어
1 | ansible-playbook /nakjunizm/ansible/playbooks/deploy_agent.yml -i /nakjunizm/ansible/playbooks/inventories/staging.yml -l windows -u nakjunizm-k -e action=stat |
b. deploy_agent.yml
1 | - hosts: all |
c. main.yml
1 | - include_vars: "/nakjunizm/ansible/playbooks/group_vars/common.yml" |
d. stat.yml
1 | --- |