group_vars/all.yml
기본 원격 사용자를 정의한 후 :
ansible_user: blackknight
그러나 어떤 경우에는 명령줄에서 이를 재정의하고 싶습니다.
% ansible-playbook -u kingarthur test.yml
test.yml
간단한 디버깅 매뉴얼입니다
- hosts: localhost
tasks:
- debug: var=ansible_user
언제 실행되는지 알려줍니다 "ansible_user": "blackknight"
.
비표준을 가지도록 변수나 플레이북을 변경하되 ansible_user
여전히 명령줄에서 지정할 수 있도록 허용하려면 어떻게 해야 합니까(그래서 명령줄 옵션이 변수의 기본값보다 우선 적용됩니까?)
답변1
~에서문서:
명령줄에서 -e 추가 변수를 사용하세요.
다른 모든 범주의 다른 모든 설정을 재정의하려면 추가 변수를 사용하거나
--extra-vars
명령-e
줄에서 사용할 수 있습니다. 전달된 값은-e
명령줄 옵션이 아닌 변수이며, 구성 설정, 명령줄 옵션, 플레이북 키워드 및 다른 곳에 설정된 변수를 재정의합니다. 예를 들어 이 작업은 다음brian
과 같이 연결됩니다carol
.ansible -u carol -e 'ansible_user=brian' -a whoami all
지정된 변수 이름과 값을 사용해야 합니다
--extra-vars
.