6

Linode に新しい Ubuntu サーバーがあり、そのサーバーのルート パスワードを持っています。

今、私のAnsibleプレイブックは次のようになっています:

- hosts: linode
  sudo: true
  remote_user: user1
  roles:
     - role: common
     - role: apache2

プレイブックを として実行したいのですがuser1user1まだ存在しておらず、ロールを として実行したくありませんrootuser1プレイブックを実行する前に手動で作成する必要があります。それを自動化する方法はありますか?

4

2 に答える 2

6

1 つのプレイブック ファイルで複数の「再生」が許可されていることに注意してください。したがって、これは単一のプレイブック ファイルの内容である可能性があります。

- name: First play, to create the user
  hosts: linode
  sudo: true
  remote_user: root

  tasks:
    -  name: create my user
       user: name=user1 password=etc... 

- Second play, to do the rest of the work
  hosts: linode
  sudo: false
  remote_user: user1
  roles:
     - role: common
     - role: apache2

タスクを使用してユーザーを作成しましたが、それはロールである可能性があるため、異なるプロジェクト間で再利用できることに注意してください。

于 2014-06-09T12:52:57.737 に答える
1

root として実行する非常に単純なブートストラップPlaybook を作成できます。user1これにより、他のすべての Playbook を実行する独自の Playbook が作成されます。

于 2014-06-03T04:16:03.543 に答える