2014-01-08 4 views
5

私はAnsibleの初心者で、誰もがAnsible/YAMLの構文でどのように簡単にシェルコマンドを書くのか分かりません。私はそれがうまく説明されているドキュメントからページを見逃している可能性があります。例えばアシスタンスとプレイブック。シェルコマンドをyaml構文に変換するには?

:私は私が私のリモートマシンにこれらのコマンドを実行したい場合は、私のplaybook.ymlで書くために何が必要なのか:

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

: は、クイック検索の後、私は私のコマンドはのようになりますと思います。彼らはまったく偶然の行動に終わることはほとんどありません。エラーを出さずに2回実行することはできません。

これを行うAnsible方法は

  • apt_keyあなたのケースでは、適切なモジュールを使用することです:追加GPGキー
  • apt_repository:リポジトリ
  • aptをインストール:パッケージをインストール

mariadbのサンプル

+1

ありがとうございます) –

0

答えはAnsible Modulesです!)これは実際に私が必要としているものです。生のシェルコマンドmodulesはbashのスクリプトの平野翻訳のためのトリックを行いますのよう

-raw: sudo apt-get install software-properties-common 
-raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db 
etc.. 
+1

これにより、そのサーバー上でプレイブックを実行するたびにコマンドが実行され、将来の実行時にエラーまたは障害が発生する可能性があります。これは、モジュールが利用できない場合を除いて、決して使用されるべきではありません。 – mschuett

関連する問題