E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O le tusitusiga lea taʻaloga i DevOps-40 2020-03-18:

Amata mai le tautinoga lona lua, soʻo se code e avea ma talatuu, aua o manatu muamua ua amata ona 'ese'ese mai mea moni faigata. E le lelei pe leaga lenei mea, o se tuʻuina atu e faigata ona finau ma e tatau ona ola ai. O se vaega o lenei faiga o le toe fa'afoliga. Toe fa'aleleia Atina'e e pei ole Code. Tuu le tala e amata ile auala e toe fa'afo'i ai le Ansible ile tausaga ae aua le fa'avalevalea.

Le Fanau mai o Talatuu

Aso #1: Patient Zero

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I se tasi taimi sa i ai se galuega faʻavae. Sa i ai se vaega atina'e Dev ma inisinia Ops. Sa latou foia le faafitauli lava e tasi: pe faʻafefea ona faʻapipiʻi servers ma faʻatautaia se talosaga. O le fa'afitauli o 'au ta'itasi na fo'ia lea fa'afitauli i lana lava ala. I le poloketi, na tonu ai e faʻaaoga Ansible e faʻafetaui le malamalama i le va o le Dev ma Ops teams.

Aso #89: O Le Fanau Mai o Talatuu

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

E aunoa ma le matauina e i latou lava, sa latou mananao e faia i le mea sili e mafai ai, ae na iu ina avea ma talatuu. E faapefea ona tupu lenei mea?

  • E iai la tatou galuega fa'anatinati iinei, se'i fai se ta'i palapalā ona toe fa'aleleia lea.
  • E te le tau tusia faʻamaumauga ma o loʻo manino mea uma i mea o loʻo tupu iinei.
  • Ou te iloa Ansible/Python/Bash/Terraform! Vaai pe mafai faapefea ona ou 'alo!
  • O aʻu o se Full Stack Overflow Developer ma kopiina lenei mea mai le stackoverflow, ou te le iloa pe faʻafefea, ae foliga manaia ma foia le faʻafitauli.

O se taunuuga, e mafai ona e mauaina se ituaiga le malamalama o le code lea e leai ni faʻamaumauga, e le o manino le mea e fai, pe manaʻomia, ae o le faʻafitauli e tatau ona e atiina ae, suia, faʻaopoopo tootoo ma lagolago. , ua atili ai ona leaga le tulaga.

- hosts: localhost
  tasks:
    - shell: echo -n Z >> a.txt && cat a.txt
      register: output
      delay: 1
      retries: 5
      until: not output.stdout.find("ZZZ")

Aso #109: Fa'ailoa le fa'afitauli

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O le faʻataʻitaʻiga muamua ma faʻatinoina le IaC e le o toe fetaui ma manaʻoga o tagata faʻaoga / pisinisi / isi 'au, ma o le taimi e fai ai suiga i atinaʻe ua le toe talia. I le taimi nei, ua oʻo mai le malamalama ua oʻo i le taimi e fai ai se gaioiga.

IaC refactoring

Aso #139: E te mana'omia moni le toe fa'afo'i?

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

Ae e te leʻi faanatinati e toe faʻaleleia, e tatau ona e taliina ni fesili taua:

  1. Aisea e te manaʻomia ai nei mea uma?
  2. E iai sou taimi?
  3. Pe lava le poto?

Afai e te le iloa pe faʻafefea ona tali fesili, ona faʻamutaina lea o le toe faʻaleleia aʻo leʻi amataina, pe atonu e sili atu le leaga. Aua maua le poto masani( O mea na ou aʻoaʻoina mai le suʻeina o le 200 laina o le tulafono o Atinaʻe), ona maua lea e le poloketi se talosaga mo se fesoasoani e faaleleia ai matafaioi ma ufiufi i suʻega.

Aso #149: Saunia o le toe fa'aleleia

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O le mea muamua o le sauniuni. Filifili po o le a le mea o le a tatou faia. Ina ia faia lenei mea, matou te fesoʻotaʻi, suʻe vaega faʻafitauli ma fuafua auala e foia ai. Matou te faʻamauina manatu faʻatupuina i se isi itu, mo se faʻataʻitaʻiga o se tusiga i le faʻatasi, ina ia a tulaʻi mai le fesili "o le a le mea e sili?" po o le "o le fea e sa'o?" Tatou te le'i se ese lo tatou ala. I la matou tulaga, matou te pipii i le manatu vaevae ma pule: matou te vaevaeina le atina'e i ni vaega laiti/piliki. O lenei auala e mafai ai e oe ona ave se vaega tuʻufua o atinaʻe, malamalama i mea e fai, ufiufi i suʻega ma suia e aunoa ma le fefe i le talepeina o se mea.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

E foliga mai o le suʻega o mea tetele e avea ma maatulimanu ma o iinei e taua le taʻua o le faʻataʻitaʻiga o le pyramid. O le manatu lava lea e tasi o loʻo i le atinaʻe, ae mo atinaʻe: o loʻo matou o ese mai suʻega vave taugofie e siaki ai mea faigofie, e pei o le indentation, i faʻataʻitaʻiga taugata atoa e faʻapipiʻi ai le atinaʻe atoa.

Fa'ata'ita'iga fa'atino

Ae tatou te leʻi o atu e faʻamatala le auala na matou ufiufi ai suʻega Ansible i luga o le poloketi, o le a ou faʻamatalaina taumafaiga ma auala na ou maua ai le avanoa e faʻaoga muamua ina ia malamalama ai i le tulaga o faaiuga na faia.

Aso Nu. -997: SDS aiaiga

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O le taimi muamua na ou faʻataʻitaʻiina ai le Ansible sa i luga o se poloketi e atiaʻe le SDS (Software Defined Storage). E iai se isi tala e uiga i lenei mataupu
Fa'afefea ona motusia uila i luga o tootoo pe a su'e lau tufatufaga, ae i se faapuupuuga, na matou iu i se pyramid suʻega fesuiaʻi ma suʻega na matou faʻaaluina 60-90 minute i le tasi matafaioi, o se taimi umi. O le faʻavae o suʻega e2e, i.e. na matou faʻapipiʻiina se faʻapipiʻi atoatoa ona faʻataʻitaʻiina lea. O le mea na sili atu ona leaga o le fatuina o lana lava uila. Ae e tatau ona ou taʻutino atu, o lenei fofo na aoga ma faʻatagaina mo se faʻamalolo mautu.

Aso # -701: Ansible ma su'ega umukuka

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O le atinaʻeina o le suʻega suʻega Ansible o le faʻaaogaina o meafaigaluega ua saunia, e taʻua o le umukuka / umukuka-ci ma le inspec. O le filifiliga na fuafuaina e ala i le malamalama o Ruby (mo nisi faʻamatalaga, vaʻai le tusiga i luga o Habré: E moemiti le au fai polokalame a le YML e su'e le Ansible?) galue vave, pe a ma le 40 minute mo le 10 matafaioi. Na matou faia se pusa o masini masini ma faia suʻega i totonu.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I se tulaga lautele, sa aoga le fofo, ae sa i ai se palapala ona o le eseesega. Ina ua siitia le numera o tagata suʻesuʻe i le 13 matafaioi autu ma le 2 meta roles tuʻufaʻatasia vaega laiti, ona faʻafuaseʻi lea ona amata suʻega mo le 70 minute, lea e toetoe lava 2 taimi le umi. Sa faigata ona talanoa e uiga i faiga XP (extreme programming) ona... e leai se tasi e fia faatali mo le 70 minute. O le mafuaaga lea na suia ai le auala

Aso # -601: Ansible ma mole

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I le faʻataʻitaʻiga, e talitutusa lea ma le suʻega suʻega, naʻo matou faʻanofo suʻega i le docker ma suia le faaputuga. O le i'uga, na fa'aitiitia le taimi i se fa'amautu 20-25 minute mo 7 matafaioi.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

E ala i le fa'aopoopoina o le numera o matafaioi fa'ata'ita'iina i le 17 ma fa'amauina le 45 matafaioi, na matou fa'atautaia lea i le 28 minute i luga o le 2 jenkins pologa.

Aso #167: Fa'aopoopo su'ega Ansible i le poloketi

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

E foliga mai, o le a le mafai ona faia vave le galuega toe faʻaleleia. O le galuega e tatau ona fuaina ina ia mafai ona e vaevae i ni vaega laiti ma 'ai le elefane fasi vaega ma le sipuniti. E tatau ona i ai se malamalama pe o e agai i le itu saʻo, o le a le umi e te alu ai.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I se tulaga lautele, e le afaina pe faʻafefea ona fai, e mafai ona e tusi i luga o se fasipepa, e mafai ona e tuʻuina pepa faʻapipiʻi i luga o le kapoti, e mafai ona e fatuina galuega i Jira, pe mafai ona e tatalaina Google Docs ma tusi i lalo le tulaga o loʻo iai nei. iina. E tupu aʻe vae mai le mea moni e leʻo vave le faagasologa, o le a umi ma faʻalavelave. Atonu e le mana'o se tasi e te mu ese mai manatu, vaivai, ma lofituina i le taimi o le toe fa'afoliga.

E faigofie le toe faʻaleleia:

  • Taumafa.
  • Moe.
  • Tulafono
  • Su'ega IaC.
  • Toe faia

ma tatou toe faia lenei mea seia tatou ausia le sini faamoemoeina.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

Atonu e le mafai ona amata faʻataʻitaʻi mea uma i le taimi lava lena, o la matou galuega muamua o le amata i le linting ma siaki le syntax.

Aso #181: Matai Faumeameamata

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

Linting o se la'asaga muamua la'ititi lea e aga'i atu i le Matai Faufale Green. O lenei mea o le a le motusia toetoe lava o soʻo se mea, ae o le a faʻatagaina oe e faʻapipiʻi faiga ma faia mea lanu meamata i jenkins. O le manatu o le atiina ae o masani i le au:

  • E leaga su'ega mumu.
  • Na ou sau e faʻaleleia se mea ma i le taimi lava e tasi ia sili atu le lelei o le code nai lo le mea na i ai i ou luma.

Aso #193: Mai le linting i su'ega iunite

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I le fausiaina o le faʻagasologa o le tuʻuina atu o le code i le matai, e mafai ona e amataina le faʻagasologa o le faʻaleleia o lea laasaga ma lea laasaga - suia le linting ma le faʻalauiloaina o matafaioi, e mafai foi ona e faia e aunoa ma se faʻaletonu. E tatau ona e malamalama pe fa'apefea ona fa'aaoga matafaioi ma pe fa'apefea ona fa'atino.

Aso #211: Mai le iunite i su'ega tu'ufa'atasi

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

A tele matafaioi e ufiufi i su'ega iunite ma fa'apipi'i mea uma, e mafai ona e aga'i i le fa'aopoopoina o su'ega tu'ufa'atasi. O na. le suʻeina e le o se piliki se tasi i totonu o atinaʻe, ae o se tuufaatasiga o latou, mo se faʻataʻitaʻiga, se faʻatulagaga atoa.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I le fa'aogaina o le jenkins, na matou fa'atupuina ai le tele o la'asaga e fa'apipi'i ai matafaioi/tusi ta'aloga i se tulaga tutusa, ona sosoo ai lea ma su'ega iunite i koneteina, ma mulimuli ane su'ega tu'ufa'atasi.

Jenkins + Docker + Ansible = Suʻega

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

  1. Siaki le repo ma fa'atupu tulaga fau.
  2. Fa'ata'ita'i fa'asologa o tusi ta'aloga fa'asolosolo.
  3. Fa'ata'ita'i fa'agasologa fa'asolosolo fa'atasi.
  4. Fa'ata'ita'i fa'ata'ita'iga fa'asologa o le syntax ile fa'atutusa.
  5. Fa'ata'ita'i tulaga fa'ata'ita'i fa'atasi.
    1. Lint matafaioi.
    2. Siaki le faalagolago i isi matafaioi.
    3. Siaki le syntax.
    4. Fausia se fa'ata'ita'iga a le docker
    5. Fa'asolo le molecule/default/playbook.yml.
    6. Siaki le fa'aletonu.
  6. Fa'atino su'ega tu'ufa'atasi
  7. faʻauma

Aso #271: Fa'ailoga Pasi

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I le taimi muamua, o le toe faʻaleleia na faia e se vaega toʻaitiiti o le lua pe tolu tagata. Sa latou iloiloina le code i le matai. I le aluga o taimi, na atiina ae ai e le 'au le malamalama i le auala e tusia ai le code ma le code review na saofagā i le faʻasalalauina o le malamalama e uiga i atinaʻe ma pe faʻapefea ona galue. O le mea taua iinei o le au suʻesuʻe na filifilia taʻitoʻatasi, e tusa ai ma se faʻatulagaga, i.e. fa'atasi ai ma sina tikeri o le avanoa e te a'e ai i se vaega fou o atina'e.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

Ma e tatau ona lelei iinei. E faigofie le faia o se iloiloga, vaʻai i totonu o le faʻavae o le a le galuega na faia, ma le talaʻaga o talanoaga. Ua matou tuʻufaʻatasia jenkins + bitbucket + jira.

Ae pei o lea, o se toe iloiloga e le o se panacea; i se isi itu, na matou oʻo i totonu o le faʻailoga matai, lea na mafua ai ona matou faʻaumatia suʻega:

- get_url:
    url: "{{ actk_certs }}/{{ item.1 }}"
    dest: "{{ actk_src_tmp }}/"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ item.1 }}"
    dest: "{{ actk_dst_tmp }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"

Ona latou teuteu ai lea, a ua totoe le mea na totoe.

get_url:
    url: "{{ actk_certs }}/{{ actk_item }}"
    dest: "{{ actk_src_tmp }}/{{ actk_item }}"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ actk_item }}"
    dest: "{{ actk_dst_tmp }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"

Aso #311: Fa'atelevave su'ega

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

I le aluga o taimi, sa tele suʻega, fau faʻagasolo lemu, e oʻo atu i le itula i le tulaga sili ona leaga. I luga o se tasi o faʻataʻitaʻiga sa i ai se fuaitau e pei o le "e lelei o loʻo i ai suʻega, ae e tuai." O le iʻuga, na matou tuʻua suʻega tuʻufaʻatasia i masini masini ma faʻafetaui i latou mo Docker e faʻavave ai. Na matou suia foi le testinfra i le faʻamaonia e mafai ona faʻaitiitia le aofaʻi o meafaigaluega faʻaaogaina.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O le mea moni, sa i ai se seti o fuataga:

  1. Su'e ile docker.
  2. Aveese le su'ega o matafaioi, lea e fa'alua ona o fa'alagolago.
  3. Fa'ateleina le aofa'i o pologa.
  4. Fa'atonuga ole su'ega.
  5. Malosiaga e lint UMA i le lotoifale ma le poloaiga e tasi.

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O se taunuuga, na tuufaatasia foi le Pipeline i jenkins

  1. Fausia laasaga fausia.
  2. Lisi uma i le tutusa.
  3. Fa'ata'ita'i tulaga fa'ata'ita'i fa'atasi.
  4. Faauma.

Lesona na aʻoaʻoina

Aloese mai fesuiaiga o le lalolagi

E fa'aogaina e Ansible le fesuiaiga o le lalolagi, o lo'o i ai se vaega ole fofo ile fomu private_role_vars, ae e le o se fofo lea.

Sei ou tuuina atu se faataitaiga. Ia tatou maua role_a и role_b

# cat role_a/defaults/main.yml
---
msg: a

# cat role_a/tasks/main.yml
---
- debug:
    msg: role_a={{ msg }}

# cat role_b/defaults/main.yml
---
msg: b

# cat role_b/tasks/main.yml
---
- set_fact:
    msg: b
- debug:
    msg: role_b={{ msg }}

- hosts: localhost
  vars:
    msg: hello
  roles:
    - role: role_a
    - role: role_b
  tasks:
    - debug:
        msg: play={{msg}}

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

O le mea malie o le taunuuga o tusi taʻaloga o le a faʻalagolago i mea e le masani ai, e pei o le faasologa o loʻo lisiina ai matafaioi. Ae paga lea, o le natura lea o Ansible ma o le mea sili e mafai ona fai o le faʻaaogaina lea o se ituaiga maliega, mo se faʻataʻitaʻiga, i totonu o se matafaioi, faʻaaoga naʻo le fesuiaiga o loʻo faʻamatalaina i lenei matafaioi.

BAD: fa'aaoga fesuiaiga o le lalolagi.

# cat roles/some_role/tasks/main.yml
---
debug:
  var: java_home

LELEI: I totonu defaults fa'amalamalama mea e mana'omia ma fa'aaoga mulimuli ane na'o latou.

# cat roles/some_role/defaults/main.yml
---
r__java_home:
 "{{ java_home | default('/path') }}"

# cat roles/some_role/tasks/main.yml
---
debug:
  var: r__java_home

Su'ega tulaga muamua

BAD: fa'aaoga fesuiaiga o le lalolagi.

# cat roles/some_role/defaults/main.yml
---
db_port: 5432

LELEI: I matafaioi mo fesuiaiga, faʻaaoga fesuiaiga e faʻapipiʻi i le igoa o le matafaioi; o lenei, e ala i le vaʻavaʻai i suʻesuʻega, o le a faigofie ai ona malamalama i le mea o loʻo tupu.

# cat roles/some_role/defaults/main.yml
---
some_role__db_port: 5432

Fa'aoga le fesuiaiga o le pulea o le matasele

BAD: Fa'aaoga fuala'au masani i matasele item, afai o lenei galuega / tusi taʻavale o loʻo aofia ai i se mea, e ono oʻo atu ai i amioga e leʻi mafaufauina

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item }}"
      loop:
        - item1
        - item2

LELEI: Toe fa'amatala se fesuiaiga i se matasele e ala i loop_var.

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item_name }}"
      loop:
        - item1
        - item2
      loop_control:
        loop_var: item_name

Siaki fesuiaiga o totonu

Na matou malilie e faʻaaoga prefix fesuiaʻi; e le o se mea e sili atu le siakiina o loʻo faʻamalamalamaina e pei ona matou faʻamoemoeina ma, mo se faʻataʻitaʻiga, e leʻi faʻaogaina e se tau gaogao.

LELEI: Siaki fesuiaiga.

- name: "Verify that required string variables are defined"
  assert:
    that: ahs_var is defined and ahs_var | length > 0 and ahs_var != None
    fail_msg: "{{ ahs_var }} needs to be set for the role to work "
    success_msg: "Required variables {{ ahs_var }} is defined"
  loop_control:
    loop_var: ahs_var
  with_items:
    - ahs_item1
    - ahs_item2
    - ahs_item3

'Alo'ese mai lomifefiloi hasshes, fa'aoga fausaga mafolafola

Afai o se matafaioi e faʻamoemoeina se hash / lomifefiloi i se tasi o ona faʻamaufaʻailoga, afai tatou te mananaʻo e sui se tasi o faʻataʻitaʻiga a tamaiti, e manaʻomia ona tatou faʻamalo le hash / lomifefiloi atoa, lea o le a faʻateleina ai le lavelave o le faʻatulagaina.

BAD: Fa'aoga hash/ lomifefiloi.

---
user:
  name: admin
  group: admin

LELEI: Fa'aoga se fausaga fesuia'i mafolafola.

---
user_name: admin
user_group: "{{ user_name }}"

Fausia ni tusi ta'aloga ma matafaioi

O matafaioi ma tusi taʻaloga e tatau ona faʻamaonia, aua fa'aitiitia le fe'avea'i ma le fefe ne'i malepe se mea. Ae afai e te faʻaaogaina mole, o le amio le lelei lea.

Aloese mai le fa'aogaina o modules atigi fa'atonu

O le fa'aaogaina o se atigi atigi e maua ai se fa'amatalaga taua, nai lo le ta'utinoga, o le autu lea o Ansible.

Su'e au matafaioi e ala ile mole

Molecule o se mea e sili ona fetuutuunai, seʻi o tatou tilotilo i ni nai faʻaaliga.

Molecule Tele taimi

В molecule.yml i vaega platforms e mafai ona e faʻamatalaina le tele o 'au e mafai ona e faʻaogaina.

---
    driver:
      name: docker
    platforms:
      - name: postgresql-instance
        hostname: postgresql-instance
        image: registry.example.com/postgres10:latest
        pre_build_image: true
        override_command: false
        network_mode: host
      - name: app-instance
        hostname: app-instance
        pre_build_image: true
        image: registry.example.com/docker_centos_ansible_tests
        network_mode: host

E tusa ai, e mafai ona avea nei 'au converge.yml fa'aoga:

---
- name: Converge all
  hosts: all
  vars:
    ansible_user: root
  roles:
    - role: some_role

- name: Converge db
  hosts: db-instance
  roles:
    - role: some_db_role

- name: Converge app
  hosts: app-instance
  roles:
    - role: some_app_role

Fa'amaonia fa'amaonia

I le mole mole e mafai ona faʻaaoga le ansible e siaki ai o le faʻataʻitaʻiga ua faʻapipiʻiina saʻo, e le gata i lea, o le mea lea ua le mafai talu mai le faʻamalolo 3. E le faigofie e pei o testinfra/inspec, ae e mafai ona tatou siaki pe o mea o loʻo i totonu o le faila e fetaui ma o tatou faʻamoemoega:

---
- name: Verify
  hosts: all
  tasks:
    - name: copy config
      copy:
        src: expected_standalone.conf
        dest: /root/wildfly/bin/standalone.conf
        mode: "0644"
        owner: root
        group: root
      register: config_copy_result

    - name: Certify that standalone.conf changed
      assert:
        that: not config_copy_result.changed

Po'o le fa'aogaina o le tautua, fa'atali se'i avanoa ma fai se su'ega asu:

---
  - name: Verify
    hosts: solr
    tasks:
      - command: /blah/solr/bin/solr start -s /solr_home -p 8983 -force
      - uri:
          url: http://127.0.0.1:8983/solr
          method: GET
          status_code: 200
        register: uri_result
        until: uri_result is not failed
        retries: 12
        delay: 10
      - name: Post documents to solr
        command: /blah/solr/bin/post -c master /exampledocs/books.csv

Tuu manatu lavelave i modules & plugins

E fautuaina e le Ansible se auala faʻaalia, o lea a e faia le faʻasologa o tulafono, suiga o faʻamatalaga, atigi atigi, e faigata ona faitau le code. Ina ia faʻafetaui lenei mea ma faʻafaigofie ona malamalama, e le o se mea e sili atu le faʻafefeina o lenei lavelave e ala i le fatuina o au lava modules.

Aotele Fautuaga & Togafiti

  1. Aloese mai fesuiaiga o le lalolagi.
  2. Su'esu'ega tulaga muamua.
  3. Fa'aaoga le fesuiaiga o le pulea o matasele.
  4. Siaki fesuiaiga o totonu.
  5. 'Alo'ese mai lomifefiloi hasshes, fa'aoga fausaga mafolafola.
  6. Fausia ni tusi ta'aloga ma matafaioi.
  7. Aloese mai le fa'aogaina o modules atigi fa'atonu.
  8. Su'e au matafaioi e ala ile mole.
  9. Tuu manatu lavelave i modules & plugins.

iʻuga

E faʻafefea ona amata suʻega Ansible, toe faʻaleleia le poloketi i le tausaga ma aua le faʻavalevalea

E le mafai ona e alu e toe faʻaleleia le atinaʻe i luga o se poloketi, tusa lava pe iai sau IaC. Ose faiga umi lea e mana'omia ai le onosai, taimi ma le poto.

UPD1 2020.05.01 20:30 - Mo faʻamatalaga muamua o tusi taʻaloga e mafai ona e faʻaogaina callback_whitelist = profile_tasks ia malamalama i le mea tonu e aoga mo se taimi umi. Ona tatou o ai lea Ansible fa'avavevave masani. E mafai foi ona e taumafai mitogen
UPD2 2020.05.03 16:34 - faa-Peretania

puna: www.habr.com

Faaopoopo i ai se faamatalaga