2014-01-08 4 views
5

나는 Anabilities의 초보자이며, 모든 사람들이 어떻게 Ansible/YAML 구문으로 쉘 명령을 쉽게 작성하는지 이해하지 못합니다. 내가 잘 설명 된 문서에서 페이지를 놓친 것일 수 있습니다. 예를 들어가능성있는 플레이 북. 쉘 명령을 yaml 구문으로 변환하는 방법?

:

sudo apt-get install software-properties-common 
sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db 
sudo add-apt-repository 'deb http://mariadb.biz.net.id//repo/5.5/ubuntu precise main' 

를 내가 이런 식으로 뭔가있을 거라고 생각 :

- name: install mariadb 
    apt: ... 
    sudo: yes 

답변

7

bash는 스크립트의 일반 번역 트릭을 할 것입니다. 그들은 거의 멱등한 행동으로 끝나지 않을 것입니다. 오류를 생성하지 않고 두 번 실행할 수 없습니다.

이 일의 Ansible 방법은

  • apt_key 귀하의 경우, 해당 모듈을 사용하는 것입니다 추가 GPG 키
  • apt_repository : 저장소
  • apt를 설치 패키지를 설치

샘플 mariadb

+1

응답 해 주셔서 감사합니다.) –

0
내 원격 시스템에서이 명령을 수행 할 경우 내 playbook.yml에 작성해야하는 일

대답은 Ansible Modules입니다!) 이것이 실제로 필요한 것입니다. 빠른 검색 후 , 내 명령과 유사합니다 생각 :

원시 쉘 명령 modules으로
-raw: sudo apt-get install software-properties-common 
-raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db 
etc.. 
+1

그러면 해당 서버에서 명령 줄을 실행할 때마다 명령이 실행되어 향후 실행시 오류나 오류가 발생할 수 있습니다. 모듈을 사용할 수없는 경우를 제외하고는 절대로 사용해서는 안됩니다. – mschuett

관련 문제