git repo도 있고, 플레이북과 호스트도 있어요. 이제 뭐?
내 GitLab에 /etc/ansible 폴더를 가져오는 데 권장되는 방법은 무엇입니까? 리포지토리를 생성하면 되지만, 언제 어떻게 가져와야 합니까? .git 폴더는 어떻습니까?
/home/user/git/ansible에 복사본을 보관하고 /etc/ansible에 심볼릭 링크를 시도했지만 ansible이 이를 따를 수 없습니다.
이 작업을 어떻게 수행해야 합니까?
(나는 또한 git을 제대로 사용하는 방법에 대한 좋은 내용을 읽고 싶습니다.)
답변1
개인적으로 나는 /etc/ansible에 아무것도 저장하지 않습니다. 하지만 저는 virtualenv를 사용하여 ansible을 설치하고 실행하므로 /etc/ansible이 전혀 존재하지 않습니다.
당신은 확실히 봐야합니다공식 추천 레이아웃, 그러나 내 최소 Ansible 계층 구조는 다음과 같습니다.
inventories
hosts
vars
roles
role1
role2
....
ansible.cfg
site.yml
저장소를 /home/victor/git/ansible에 복제하고 bashrc에 다음 줄을 넣어 기본 ansible 경로를 설정했습니다.
export ANSIBLE_INVENTORY=/home/victor/git/ansible/inventories/hosts
export ANSIBLE_CONFIG=/home/victor/git/ansible/ansible.cfg
제가 항상 따르는 두 가지 규칙이 있습니다.
- 플레이북을 실행하기 전에 항상 최신 버전이 실행되고 있는지 확인하기 위해 git에서 풀링합니다.
- 플레이북을 변경할 때마다 항상 플레이북을 먼저 실행하여 저장소에 커밋하기 전에 오류가 없는지 확인했습니다.
Ansible을 사용하여 비밀이나 자격 증명을 배포하는 경우 git에 커밋하기 전에 ansible-vault를 사용하여 암호화하는 것이 좋습니다.git 저장소에 일반 자격 증명을 넣지 마십시오.
이 사용 사례에서는 .git 폴더가 있는 것이 전혀 문제가 되지 않는다고 가정합니다(/etc/ 어딘가에 .git 폴더를 원하지 않는 것 같습니다).