Bagaimana cara mendapatkan nama host dari mesin saat ini sebagaimana didefinisikan dalam file host yang mungkin?


166

Saya menyiapkan buku pedoman yang dimungkinkan untuk menyiapkan beberapa server. Ada beberapa tugas yang hanya ingin saya jalankan jika host saat ini adalah host dev lokal saya, bernama "lokal" di file host saya. Bagaimana saya bisa melakukan ini? Saya tidak dapat menemukannya di mana pun dalam dokumentasi.

Saya sudah mencoba ini ketika pernyataan, tetapi gagal karena ansible_hostnamememutuskan untuk nama host yang dihasilkan ketika mesin dibuat, bukan yang Anda tetapkan dalam file host Anda.

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"

Jawaban:



2

Anda dapat membatasi ruang lingkup buku pedoman dengan mengubah tajuk host di lakonnya tanpa bergantung pada label host khusus 'lokal' di inventaris Anda. Localhost tidak memerlukan jalur khusus dalam inventaris.

- name: run on all except local
  hosts: all:!local

hosts: !localhostmungkin juga berfungsi seperti misalnya --limit '!dev'karya
timdiels

0

Ini adalah alternatif:

- name: Install this only for local dev machine
  pip: name=pyramid
  delegate_to: localhost
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.