Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ity ny transcript fampisehoana amin'ny DevOps-40 2020-03-18:

Manomboka amin'ny fanoloran-tena faharoa, ny code rehetra dia lasa lova, satria manomboka miala amin'ny zava-misy henjana ny hevitra voalohany. Sady tsy tsara no tsy ratsy izany, omena izay sarotra iadian-kevitra ary tsy maintsy iaina. Ampahany amin'ity dingana ity ny refactoring. Refactoring fotodrafitrasa toy ny Code. Avelao ny tantara hatomboka amin'ny fomba hamerenana ny Ansible ao anatin'ny herintaona fa tsy ho lasa adala.

Ny nahaterahan'ny lova

Andro #1: Patient Zero

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Indray mandeha dia nisy tetikasa misy fepetra. Nanana ekipa fampandrosoana Dev sy injeniera Ops izy io. Namaha olana iray ihany izy ireo: ny fomba fametrahana lohamilina sy fampandehanana fampiharana. Ny olana dia ny ekipa tsirairay dia namaha io olana io tamin'ny fombany. Tamin'ny tetikasa dia nanapa-kevitra ny hampiasa Ansible hampifanaraka ny fahalalana eo amin'ny ekipa Dev sy Ops.

Andro #89: Ny fahaterahan'ny lova

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Tsy nahatsikaritra izany ny tenany fa naniry ny hanao izany araka izay azo atao, saingy lasa lova. Ahoana no mitranga izany?

  • Manana asa maika isika eto, andao hanao hack maloto ary amboary avy eo.
  • Tsy mila manoratra antontan-taratasy ianao ary mazava tsara ny zava-mitranga eto.
  • Fantatro ny Ansible/Python/Bash/Terraform! Jereo ny fomba handosirako!
  • Mpanamboatra Full Stack Overflow aho ary nandika an'io tamin'ny stackoverflow, tsy fantatro ny fomba fiasany, fa toa mangatsiatsiaka sy mamaha ny olana.

Vokatr'izany dia azonao atao ny mahazo karazana code tsy takatry ny saina izay tsy misy antontan-taratasy, tsy mazava ny ataony, na ilaina izany, fa ny olana dia mila mamolavola azy ianao, manova azy, manampy tehina sy tohana. , vao mainka miharatsy ny toe-javatra.

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

Andro #109: Fampahafantarana ny olana

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ny modely IaC noforonina sy nampiharina tamin'ny voalohany dia tsy mahafeno ny fepetra takian'ny mpampiasa / orinasa / ekipa hafa, ary tsy azo ekena intsony ny fotoana hanovana ny fotodrafitrasa. Amin'izao fotoana izao dia tonga ny fahatakarana fa tonga ny fotoana hanaovana hetsika.

IaC refactoring

Andro #139: Tena mila refactoring ve ianao?

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Alohan'ny handehananao haingana amin'ny refactor dia tsy maintsy mamaly fanontaniana manan-danja maromaro ianao:

  1. Nahoana ianao no mila izany rehetra izany?
  2. Manana fotoana ve ianao?
  3. Ampy ve ny fahalalana?

Raha tsy hainao ny mamaly ny fanontaniana dia hifarana alohan'ny hanombohany ny refactoring, na mety hiharatsy izany. SATRIA nanana traikefa ( Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa), avy eo dia nahazo fangatahana fanampiana ny tetikasa mba handaminana ireo andraikitra ary handrakotra azy ireo amin'ny fitsapana.

Andro #149: Fanomanana ny refactoring

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ny zavatra voalohany dia ny manomana. Manapaha hevitra izay hataontsika. Mba hanaovana izany, mifampiresaka isika, mitady faritra misy olana ary mitady fomba hamahana azy ireo. Raketinay amin'ny fomba ahoana ny hevitra aterak'izany, ohatra amin'ny lahatsoratra iray mitambatra, ka rehefa mipoitra ny fanontaniana hoe "inona no tsara indrindra?" na "inona no marina?" Tsy very lalana izahay. Raha ny momba anay dia nifikitra tamin'ilay hevitra izahay mizara sy manapaka: vakivaky ny fotodrafitrasa madinika/biriky. Ity fomba fiasa ity dia ahafahanao maka fotodrafitrasa mitoka-monina, mahatakatra ny ataony, manarona azy amin'ny fitsapana ary manova azy tsy misy tahotra ny handrava na inona na inona.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Hita fa lasa vato fehizoro ny fitsirihana ny fotodrafitrasa ka eto dia tsara ny manamarika ny piramida fitsirihana ny fotodrafitrasa. Mitovy tanteraka amin'ny hevitra eo amin'ny fampandrosoana, fa ho an'ny fotodrafitrasa: miainga avy amin'ny fitsapana haingana mora vidy izay manamarina zavatra tsotra, toy ny indentation, mankany amin'ny andrana feno lafo izay mametraka ny fotodrafitrasa manontolo.

Andrana fitsapana azo atao

Alohan'ny handehanantsika hamaritana ny fomba nandrakofanay ny fitsapana Ansible momba ny tetikasa, dia holazaiko ireo andrana sy fomba fiasa izay nananako fahafahana nampiasa teo aloha mba hahatakarana ny tontolon'ny fanapahan-kevitra noraisina.

Andro No. -997: Fanomezana SDS

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ny fotoana voalohany nanandramako an'i Ansible dia tao amin'ny tetikasa iray hamolavola SDS (Software Defined Storage). Misy lahatsoratra manokana momba ity lohahevitra ity
Ahoana ny fomba hanapahana ny bisikileta amin'ny tehina rehefa manandrana ny fizaranao, fa raha fintinina dia niafara tamin'ny piramida fitsapana nivadika izahay ary nandany 60-90 minitra tamin'ny anjara iray ny fitsapana, izay fotoana lava be. Ny fototra dia ny fitsapana e2e, i.e. nametraka fametrahana feno izahay ary nanandrana izany avy eo. Ny tena nampalahelo dia ny famoronana ny bisikiletany manokana. Saingy tsy maintsy ekeko fa niasa io vahaolana io ary namela ny famoahana tsy tapaka.

Andro # -701: lakozia azo antoka sy fitsapana

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ny fampivoarana ny hevitra fitiliana Ansible dia ny fampiasana fitaovana efa vita, dia ny lakozia / lakozia-ci ary ny inspec. Ny fahafantarana an'i Ruby no namaritana ny safidy (raha mila fanazavana fanampiny dia jereo ny lahatsoratra momba ny Habré: Manonofy hanao fitiliana Ansible ve ny mpandrindra YML?) niasa haingana kokoa, tokony ho 40 minitra ho an'ny anjara 10. Namorona fonosana milina virtoaly izahay ary nanao fitsapana tao anatiny.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Amin'ny ankapobeny, nahomby ny vahaolana, saingy nisy antsanga noho ny tsy fitoviana. Rehefa nitombo ho 13 anjara fototra ny isan'ny olona nosedraina ary 2 meta anjara manambatra anjara kely kokoa, dia nanomboka nandeha tampoka nandritra ny 70 minitra ny andrana, izay efa ho in-2 lava kokoa. Sarotra ny niresaka momba ny fomba fiasa XP (programming extreme) satria... tsy misy te hiandry 70 minitra. Izany no antony nanova ny fomba fiasa

Andro # -601: Ansible sy molekiola

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Amin'ny foto-kevitra dia mitovy amin'ny testkitchen izany, izahay ihany no namindra ny fitiliana anjara tamin'ny docker ary nanova ny stack. Vokatr'izany dia nihena ho 20-25 minitra ny fotoana ho an'ny anjara 7.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Tamin'ny fampitomboana ny isan'ny anjara voasedra ho 17 sy ny fametahana andraikitra 45, dia nanatanteraka izany tao anatin'ny 28 minitra izahay tamin'ny andevo jenkins 2.

Andro #167: Fanampiana fitsapana Ansible amin'ny tetikasa

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Azo inoana fa tsy ho azo atao haingana ny asa refactoring. Ny asa dia tsy maintsy azo refesina mba hahafahanao manapaka azy ho sombiny kely ary mihinana ny elefanta tapatapaka amin'ny sotro iray. Tsy maintsy misy ny fahatakarana raha mizotra amin'ny lalana marina ianao, hafiriana no handehanana.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Amin'ny ankapobeny, tsy maninona ny fomba hanaovana izany, azonao atao ny manoratra amin'ny taratasy iray, azonao atao ny mametraka sticker eo amin'ny efi-tranonao, azonao atao ny mamorona asa ao amin'ny Jira, na afaka manokatra Google Docs ianao ary manoratra ny sata ankehitriny. Ery. Ny tongotra dia mitombo noho ny zava-misy fa ny dingana dia tsy eo no ho eo, dia ho lava sy mandreraka. Tsy azo inoana fa misy olona maniry anao handoro hevitra, ho reraka, ary ho reraka mandritra ny refactoring.

Ny refactoring dia tsotra:

  • Mihinàna.
  • Matory aza izy.
  • Kaody.
  • IaC test.
  • Avereno

ary averintsika izany mandra-pahatongantsika amin'ny tanjona kasaina.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Mety tsy ho azo atao ny manomboka mitsapa ny zava-drehetra avy hatrany, ka ny asa voalohany nataonay dia ny natomboka tamin'ny linting sy ny fanamarinana ny syntax.

Andro #181: Maitso Build Master

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ny linting dia dingana voalohany mankany amin'ny Green Build Master. Tsy handrava saika na inona na inona izany, fa hamela anao hanaisotra ny dingana sy hanao fananganana maitso ao Jenkins. Ny hevitra dia ny hampivelatra fahazarana eo amin'ny ekipa:

  • Ratsy ny fitsapana mena.
  • Tonga hanamboatra zavatra aho ary miaraka amin'izay koa, ny kaody dia tsara kokoa noho ny teo alohanao.

Andro #193: Avy amin'ny linting mankany amin'ny fitsapana unit

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Rehefa avy nanamboatra ny dingan'ny fampidirana ny kaody ho an'ny tompony ianao dia afaka manomboka ny dingan'ny fanatsarana tsikelikely - manolo ny linting amin'ny andraikitra fanombohana, azonao atao mihitsy aza izany tsy misy idempotency. Mila mahafantatra ny fomba hampiharana ny andraikitra sy ny fomba fiasan'izy ireo ianao.

Andro #211: Avy amin'ny vondrona mankany amin'ny fitsapana fampidirana

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Rehefa rakotry ny andrana vondrona ny ankamaroan'ny andraikitra ary voapetaka avokoa ny zava-drehetra, azonao atao ny miroso amin'ny fampidirana fitsapana fampidirana. Ireo. tsy fitiliana biriky na dia iray aza ao amin'ny fotodrafitrasa, fa ny fitambaran'izy ireo, ohatra, ny fanamafisana ohatra feno.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Amin'ny fampiasana jenkins, namorona dingana maro izahay izay nandrafitra anjara/boky filalaovana mifanandrify, avy eo ny fitsapana an'ny vondrona ao anaty kaontenera, ary farany ny andrana fampidirana.

Jenkins + Docker + Ansible = Fitsapana

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

  1. Manaova repo ary mamorona dingana fananganana.
  2. Manaova dingana amin'ny lint playbook amin'ny parallèle.
  3. Manaova dingana mifanandrify amin'ny anjara asan'ny lint.
  4. Ampandehano mifanandrify ireo dingana fanaraha-maso syntax.
  5. Manaova dingana mifanandrify amin'ny anjara asan'ny fitsapana.
    1. Lint anjara.
    2. Jereo ny fiankinan-doha amin'ny andraikitra hafa.
    3. Jereo ny syntax.
    4. Mamorona ohatra docker
    5. Alefaso ny molecule/default/playbook.yml.
    6. Jereo ny idépotency.
  6. Manaova andrana fampidirana
  7. farany

Andro #271: Factor Bus

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Tamin'ny voalohany, vondrona kely misy olona roa na telo no nanao refactoring. Nodinihin'izy ireo ny kaody ao amin'ny tompony. Rehefa nandeha ny fotoana, ny ekipa dia namolavola fahalalana momba ny fanoratana kaody sy ny famerenana ny kaody dia nandray anjara tamin'ny fanaparitahana ny fahalalana momba ny fotodrafitrasa sy ny fomba fiasany. Nisongadina teto ny nisafidianana ireo mpandinika, araka ny fandaharam-potoana, izany hoe. miaraka amin'ny ambaratonga mety hiakatra amin'ny fotodrafitrasa vaovao ianao.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ary tokony ho mahazo aina eto. Tsara ny manao famerenana, mijery ao anatin'ny rafitry ny asa vitany, ary ny tantaran'ny fifanakalozan-kevitra. Nampiditra jenkins + bitbucket + jira izahay.

Saingy noho izany, ny famerenana dia tsy fanafody; Na ahoana na ahoana, dia niditra tao amin'ny kaody master izahay, izay nahatonga anay hanao fitsapana:

- 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 }}"

Namboarin'izy ireo avy eo, fa nijanona ny antsanga.

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 }}"

Andro #311: Fanafainganana ny fitsapana

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Rehefa nandeha ny fotoana, dia nisy fitsapana maro kokoa, niadana kokoa ny fanamboarana, hatramin'ny adiny iray amin'ny tranga ratsy indrindra. Ao amin'ny iray amin'ireo retros dia nisy andian-teny toy ny hoe "tsara fa misy ny fitsapana, fa miadana izy ireo." Vokatr'izany dia nandao ny fitsapana fampidirana amin'ny milina virtoaly izahay ary nampifanaraka azy ireo ho an'i Docker mba hanafainganana azy. Nosoloinay ihany koa ny testinfra amin'ny verifier ansible mba hampihenana ny isan'ny fitaovana ampiasaina.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Raha ny marina, nisy fepetra maromaro:

  1. Hiverina any amin'ny docker.
  2. Esory ny fitiliana anjara, izay adika noho ny fiankinan-doha.
  3. Ampitomboy ny isan'ny andevo.
  4. Fibaikoana andrana.
  5. Fahaizana lint rEHETRA eo an-toerana miaraka amin'ny baiko iray.

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Vokatr'izany dia niray hina ihany koa ny Pipeline on jenkins

  1. Mamorona dingana fananganana.
  2. Ampifanaraho daholo.
  3. Manaova dingana mifanandrify amin'ny anjara asan'ny fitsapana.
  4. Farany.

Lesona noraisina

Halaviro ny fari-piainana manerantany

Ansible dia mampiasa fari-pahalalana manerantany, misy vahaolana amin'ny ampahany amin'ny endrika private_role_vars, fa tsy fanafody fanafody izany.

Mamelà ahy hanome ohatra anao. Aoka isika hanana 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}}

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Ny mahatsikaiky dia ny vokatry ny playbook dia hiankina amin'ny zavatra tsy miharihary foana, toy ny filaharan'ireo anjara. Indrisy anefa fa izany no toetran'ny Ansible ary ny zavatra tsara indrindra azo atao dia ny mampiasa karazana fifanarahana, ohatra, ao anatin'ny anjara iray, dia tsy mampiasa afa-tsy ny faribolana voalaza ao amin'io andraikitra io.

BAD: mampiasa variable global.

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

TSARA: V defaults mamaritra ny fari-piainana ilaina ary avy eo mampiasa azy ireo ihany.

# 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

Variable andraikitry ny prefix

BAD: mampiasa variable global.

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

TSARA: Amin'ny andraikitry ny fari-pitsipika, ampiasao ny fari-piadidiana misy ny anaran'ny anjara; izany, amin'ny fijerena ny lisitra, dia hanamora ny fahazoana ny zava-mitranga.

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

Ampiasao ny fari-pifehezana loop

BAD: Mampiasà fari-pitsipika mahazatra amin'ny tadivavarana item, raha ampidirina any amin'ny toerana iray ity asa/boky filalaovana ity dia mety hitarika fihetsika tsy ampoizina izany

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

TSARAa loop_var.

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

Hamarino ny fari-pidirana

Nanaiky ny hampiasa prefix miovaova izahay; tsy ho tafahoatra ny hanamarina fa voafaritra araka ny nantenainay izy ireo ary, ohatra, dia tsy nosoloina sanda foana.

TSARA: Hamarino ny fari-piainana.

- 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

Halaviro ny diksionera hash, ampiasao rafitra fisaka

Raha toa ka manantena hash/diksionera ao amin'ny iray amin'ireo masontsivanany ny anjara iray, dia raha te hanova ny iray amin'ireo masontsivana ankizy isika dia mila manafoana ny hash/diksiona manontolo, izay hampitombo ny fahasarotan'ny fanitsiana.

BAD: Mampiasa tenifototra/rakibolana.

---
user:
  name: admin
  group: admin

TSARA: Mampiasà rafitra miovaova fisaka.

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

Mamorona boky filalaovana sy anjara asa

Ny anjara asa sy ny playbooks dia tsy maintsy idempotent, satria mampihena ny fifindran'ny configuration sy ny tahotra ny hanapaka zavatra. Fa raha mampiasa molekiola ianao, dia izao no fitondran-tena mahazatra.

Fadio ny mampiasa maody shell baiko

Ny fampiasana maody akorandriaka dia miteraka paradigma famaritana tsy maintsy atao, fa tsy ilay fanambarana, izay fototry ny Ansible.

Andramo ny anjara asanao amin'ny alàlan'ny molekiola

Ny molekiola dia zavatra tena miovaova, andao hojerentsika ny toe-javatra vitsivitsy.

Molecule instance maromaro

В molecule.yml amin'ny fizarana platforms afaka mamaritra mpampiantrano maro azonao apetraka ianao.

---
    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

Noho izany, ireo mpampiantrano ireo dia mety ho converge.yml mampiasa:

---
- 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

Fanamarinana azo atao

Ao amin'ny molekiola dia azo atao ny mampiasa ansible mba hanamarinana fa efa namboarina tsara ny ohatra, ary izany no default hatramin'ny famoahana 3. Tsy mora toy ny testinfra/inspec izy io, saingy azontsika atao ny manamarina fa mifanaraka amin'ny andrasantsika ny votoatin'ny rakitra:

---
- 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

Na ampidiro ny serivisy, andraso ho tonga ary manaova fitsapana setroka:

---
  - 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

Ampidiro ao anaty modules & plugins ny lojika sarotra

Ny Ansible dia manohana ny fomba fanambaràna, ka rehefa manao sampana kaody, fanovana angon-drakitra, maody akorandriaka ianao, dia lasa sarotra ny mamaky ny kaody. Mba hiadiana amin'izany sy hitazonana azy ho mora takarina, dia tsy ho tafahoatra ny hiadiana amin'ity fahasarotana ity amin'ny alàlan'ny famoronana modules anao manokana.

Fintino ny Soso-kevitra & Tetika

  1. Halaviro ny fari-piainana manerantany.
  2. Variable andraikitry ny prefix.
  3. Ampiasao ny fari-pifehezana loop.
  4. Hamarino ny fari-pidirana.
  5. Halaviro ny diksionera hash, ampiasao rafitra fisaka.
  6. Mamorona boky filalaovana sy anjara asa.
  7. Fadio ny mampiasa maody shell baiko.
  8. Andramo ny anjara asanao amin'ny alàlan'ny molekiola.
  9. Ampidiro ao anaty modules & plugins ny lojika sarotra.

famaranana

Ahoana no hanombohana fitsapana Ansible, avereno indray ny tetikasa ao anatin'ny herintaona ary tsy ho lasa adala

Tsy afaka mandeha fotsiny ianao ary mamerina ny fotodrafitrasa amin'ny tetikasa iray, na dia manana IaC aza ianao. Izany dia dingana lava mitaky faharetana, fotoana ary fahalalana.

UPD1 2020.05.01 20:30 - Ho an'ny profiling voalohany amin'ny playbook azonao ampiasaina callback_whitelist = profile_tasks mba hahatakatra izay tena miasa nandritra ny fotoana ela. Dia mandalo isika Classics haingana haingana. Azonao atao koa ny manandrana mitogen
UPD2 2020.05.03 16:34 - English version

Source: www.habr.com

Add a comment