ansible-deployment
Ansible을 활용한 서버 배포 자동화 패턴. diff 확인, SSH 인증, copy 모듈, playbook 구조가 필요할 때 사용하세요.
When & Why to Use This Skill
This Claude skill automates server configuration and multi-server deployments using Ansible. It streamlines the creation of safe, efficient deployment workflows by enforcing pre-deployment diff checks, optimizing SSH authentication, and providing standardized playbook patterns for infrastructure management. By prioritizing native Ansible modules and automated validation, it ensures reliable and repeatable server setups.
Use Cases
- Automating server configuration updates with mandatory diff verification to prevent accidental misconfigurations during deployment.
- Streamlining multi-server deployment workflows by centralizing SSH authentication and reducing manual password entries through vars_prompt patterns.
- Designing robust Ansible playbooks using native modules for efficient file synchronization and service management.
- Performing pre-deployment validation including syntax checks and dry-runs to ensure script reliability before execution in production environments.
| name | ansible-deployment |
|---|---|
| description | Automates server configuration and multi-server deployments. Use when writing Ansible playbooks, setting up SSH auth, or checking deployment diffs. |
Ansible Deployment Automation
서버 설정 파일 배포 시 안전하고 효율적인 Ansible 패턴을 제공합니다.
핵심 철학:
- 배포 전 diff 확인 필수 (사용자가 변경 내용 검토)
- Ansible 네이티브 기능 우선 (shell 스크립트 최소화)
- 단일 비밀번호 입력으로 전체 워크플로우 완료
- 색상 diff로 가독성 향상
Instructions
워크플로우: 요청 분석 및 리소스 선택
사용자 요청을 분석하여 필요한 리소스만 선택적으로 로드합니다.
1. 키워드 매칭
사용자 요청의 키워드를 분석하여 필요한 리소스를 판단:
Diff 체크 (resources/01-diff-checking.md)
- "diff", "차이", "변경 사항"
- "배포 전 확인", "dry-run"
- "file_diff_checker"
- "copy 모듈"
SSH 인증 (resources/02-ssh-auth.md)
- "SSH", "인증", "비밀번호"
- "vars_prompt"
- "ProxyJump", "Gateway"
- "VPN", "접속"
Copy 모듈 활용 (resources/03-copy-module.md)
- "copy 모듈", "copy module"
- "check_mode", "diff"
- "파일 동기화", "파일 배포"
Playbook 패턴 (resources/04-playbook-patterns.md)
- "playbook", "role"
- "배포", "deploy"
- "서비스 reload", "handler"
- "사용자 확인", "pause"
검증 및 테스트 (resources/05-testing-validation.md)
- "syntax check", "문법 검사"
- "dry-run", "테스트"
- "lint", "검증"
- "justfile"
2. 리소스 로딩 전략
단일 키워드 감지
- User: "배포 전 diff 확인하고 싶어"
- → Read resources/01-diff-checking.md
- → Read resources/03-copy-module.md
복합 요청
- User: "Ansible로 설정 파일 안전하게 배포하는 방법"
- → Read resources/01-diff-checking.md (Diff)
- → Read resources/02-ssh-auth.md (SSH)
- → Read resources/03-copy-module.md (Copy)
- → Read resources/04-playbook-patterns.md (Playbook)
불명확한 요청
- User: "Ansible 배포 설정"
- → REFERENCE.md 확인하여 사용자에게 선택지 제시
- → 선택에 따라 리소스 로드
3. 리소스 적용
현재 프로젝트 구조 파악
- ansible 디렉토리 위치 확인
- 기존 playbook, role 확인
리소스 Read
- 필요한 리소스만 Read
- 다른 리소스 참조 필요 시 추가 Read
패턴 적용
- Read한 리소스의 패턴을 프로젝트에 적용
- 기존 설정이 있으면 수정, 없으면 생성
- 사용자에게 변경 사항 확인
검증
- ansible-playbook --syntax-check
- 가능하면 실행하여 동작 확인
- 문제 발생 시 사용자에게 보고
예시
예시 1: Diff 체크 Role 생성
User: "배포 전에 변경 내용을 diff로 보고 싶어"
- 키워드 매칭: "diff", "배포 전" → Diff Checking
- Read resources/01-diff-checking.md
- Read resources/03-copy-module.md
- ansible/roles/file_diff_checker/ 생성
- copy 모듈 check_mode + diff 패턴 적용
- 사용자에게 사용법 안내
예시 2: SSH 인증 개선
User: "Ansible 실행할 때 비밀번호 여러 번 입력하기 귀찮아"
- 키워드 매칭: "비밀번호" → SSH Auth
- Read resources/02-ssh-auth.md
- vars_prompt 설정 추가
- ansible_password + ansible_become_password 설정
- 테스트 실행 확인
예시 3: 안전한 배포 Playbook
User: "서버 설정 파일을 안전하게 배포하는 playbook 만들어줘"
- 키워드 매칭: "배포", "안전" → 전체
- Read resources/01-diff-checking.md
- Read resources/02-ssh-auth.md
- Read resources/03-copy-module.md
- Read resources/04-playbook-patterns.md
- Playbook 생성 (diff → 확인 → 배포 → reload)
- 실행 테스트
중요 원칙
- 토큰 효율: 필요한 리소스만 Read
- Ansible 네이티브 우선: shell 스크립트 대신 Ansible 모듈 사용
- 사용자 확인: 배포 전 diff 확인 필수
- 실행 검증: 가능하면 항상 실행하여 동작 확인
- 범용성: 프로젝트 특정 내용 없이 패턴만 제공
Technical Details
상세한 설정 및 예제는 각 리소스 파일 참조:
REFERENCE.md: 리소스 전체 개요resources/01-diff-checking.md: 배포 전 diff 확인 패턴resources/02-ssh-auth.md: SSH 인증 및 vars_promptresources/03-copy-module.md: copy 모듈 활용법resources/04-playbook-patterns.md: 안전한 배포 playbook 구조resources/05-testing-validation.md: 검증 및 테스트 워크플로우