Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Ichi ndicho chinyorwa zvesimba pamusoro DevOps-40 2020-03-18:

Kutanga kubva pakuzvipira kwechipiri, chero kodhi inova nhaka, nekuti pfungwa dzekutanga dzinotanga kusiyana kubva pachokwadi chakakasharara. Izvi hazvina kunaka kana kushata, kupihwa kunonetsa kupokana uye kunofanirwa kugara nako. Chikamu cheichi chiitiko chiri refactoring. Refactoring Infrastructure seCode. Rega nyaya itange pakuita refactor Ansible mugore uye kwete kupenga.

Kuberekwa Kwenhaka

Zuva #1: Murwere Zero

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Pane imwe nguva pakanga pane purojekiti yemamiriro ezvinhu. Yakanga iine timu yekuvandudza yeDev uye Ops mainjiniya. Ivo vanga vachigadzirisa dambudziko rimwechete: maitiro ekuisa maseva uye kumhanyisa application. Dambudziko nderekuti chikwata chimwe nechimwe chakagadzirisa dambudziko iri nenzira yaro. Pachirongwa ichi, zvakasarudzwa kushandisa Ansible kuwiriranisa ruzivo pakati pezvikwata zveDev neOps.

Zuva #89: Kuberekwa Kwenhaka

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Pasina kuzviona ivo, vakada kuzviita nepavaigona napo, asi yakazova nhaka. Izvi zvinoitika sei?

  • Tine basa rekukurumidzira pano, ngatiite tsvina yekuvhara tozogadzirisa.
  • Iwe haufanirwe kunyora zvinyorwa uye zvese zviri pachena zviri kuitika pano.
  • Ndinoziva Ansible/Python/Bash/Terraform! Tarisa kuti ndinganzvenga sei!
  • Ini ndiri Full Stack Overflow Developer uye ndakakopa izvi kubva stackoverflow, handizive kuti inoshanda sei, asi inotaridzika inotonhorera uye inogadzirisa dambudziko.

Nekuda kweizvozvo, iwe unogona kuwana isinganzwisisike mhando yekodhi iyo isina zvinyorwa, hazvisi pachena zvazvinoita, kana zvichidikanwa, asi dambudziko nderekuti iwe unofanirwa kuigadzira, kuishandura, kuwedzera madondoro uye zvinotsigira. , zvichiita kuti zvinhu zvitonyanya kuipa.

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

Zuva #109: Kuziva nezvedambudziko

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Iyo yekutanga yakaumbwa uye yakaitwa IaC modhi haichazadzisa zvinodiwa nevashandisi / bhizinesi / zvimwe zvikwata, uye nguva yekuita shanduko kune zvivakwa inomira kugamuchirwa. Panguva ino, kunzwisisa kunouya kuti inguva yekuita chiito.

IaC refactoring

Zuva #139: Iwe unonyatsoda refactoring?

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Usati wamhanyira kune refactor, unofanirwa kupindura akati wandei emibvunzo yakakosha:

  1. Sei uchida zvose izvi?
  2. Une nguva here?
  3. Ruzivo rwakakwana here?

Kana iwe usingazivi mapinduriro emibvunzo, ipapo refactoring inopera isati yatombotanga, kana kuti inogona kutowedzera. Nokuti ndine experience ( Zvandakadzidza kubva Kuedza 200 Mitsetse yeInfrastructure Code), ipapo purojekiti yakagamuchira chikumbiro chekubatsira kugadzirisa mabasa uye kuvafukidza nemiedzo.

Zuva #149: Kugadzirira refactoring

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Chinhu chekutanga kugadzirira. Sarudza chatichaita. Kuti tiite izvi, tinotaurirana, tsvaga nzvimbo dzine dambudziko uye tinoona nzira dzekudzigadzirisa. Isu tinorekodha zvinokonzeresa pfungwa neimwe nzira, semuenzaniso chinyorwa mukuwirirana, kuti kana mubvunzo wamuka "chii chakanakisa?" kana kuti "ndeipi yakarurama?" Hatina kurasika nzira. Muchiitiko chedu, takanamatira kune pfungwa kamura uye utonge: tinoputsa zvivakwa kuita zvidimbu zvidiki / zvidhinha. Iyi nzira inokubvumira kutora chidimbu chega chega chekugadzirisa, kunzwisisa zvachinoita, kuchivhara nemiedzo uye kuchishandura pasina kutya kuputsa chero chinhu.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Zvinoitika kuti kuyedzwa kwezvivakwa kunova ibwe rekona uye pano zvakakodzera kutaura piramidhi yekuyedza zvivakwa. Chaizvo iyo pfungwa iri mukusimudzira, asi yezvivakwa: isu tiri kubva kune yakachipa yekukurumidza bvunzo inotarisa zvinhu zvakapusa, senge indentation, kuenda kune inodhura yakazara-yakazara bvunzo inoendesa iyo yese zvivakwa.

Ansible kuedza kuedza

Tisati taenda kunotsanangura kuti takafukidza sei Ansible bvunzo pachirongwa, ini ndichatsanangura kuedza uye nzira dzandakawana mukana wekushandisa pakutanga kuti ndinzwisise mamiriro ezvisarudzo zvakaitwa.

Zuva Nhamba -997: SDS kugoverwa

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Kekutanga pandakaedza Ansible yaive purojekiti yekugadzira SDS (Software Defined Storage). Pane imwe nyaya iri padivi penyaya iyi
Nzira yekupwanya mabhasikoro pamusoro pemadondoro paunenge uchiyedza kugovera kwako, asi muchidimbu, takapedzisira tave nepiramidhi yekuedza inverted uye kuedza takapedza 60-90 maminetsi pane rimwe basa, iyo inguva yakareba. Hwaro hwaive bvunzo dze e2e, i.e. takaisa dhizaini yakazara tichibva taedza. Chakatonyanya kuipa kwaiva kugadzirwa kwebhasikoro rake. Asi ndinofanira kubvuma, iyi mhinduro yakashanda uye yakabvumira kusunungurwa kwakagadzikana.

Zuva # -701: Inogoneka uye yekuyedza kicheni

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Kuvandudzwa kweAnsible yekuyedza zano kwaive kushandiswa kwezvishandiso zvakagadzirirwa, zvinoti test kitchen / kitchen-ci uye inspector. Sarudzo yakatemwa neruzivo rwaRuby (kuti uwane rumwe ruzivo, ona chinyorwa paHabrΓ©: Ko YML programmers inorota yekuyedza Ansible?) akashanda nekukurumidza, anenge maminetsi makumi mana pazvikamu gumi. Isu takagadzira paki yemachina chaiwo uye takamhanyisa bvunzo mukati.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Kazhinji, mhinduro yakashanda, asi pakanga pane imwe sediment nekuda kwehterogeneity. Apo nhamba yevanhu vakaedzwa yakawedzerwa kusvika ku13 mabasa ekutanga uye 2 meta mabasa achibatanidza mabasa maduku, ipapo kamwe-kamwe miedzo yakatanga kushanda kwemaminitsi makumi manomwe, iyo ingangoita kaviri. Zvakanga zvakaoma kutaura nezve XP (yakanyanya programming) maitiro nekuti... hapana anoda kumirira 70 maminetsi. Ichi chaive chikonzero chekuchinja maitiro

Zuva # -601: Ansible uye molecule

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Sezvineiwo, izvi zvakafanana netestkitchen, chete isu takafambisa bvunzo kudocker uye tikachinja stack. Somugumisiro, nguva yakaderedzwa kusvika yakagadzikana 20-25 maminitsi e7 mabasa.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Nekuwedzera huwandu hwemabasa akaedzwa kusvika ku17 uye nekuisa 45 mabasa, takamhanya izvi mumaminitsi makumi maviri nemasere pavaranda vaviri vejenkins.

Zuva #167: Kuwedzera Ansible bvunzo kupurojekiti

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Zvingangodaro, hazvizogone kuita basa refactoring nekukurumidza. Basa racho rinofanira kuyerwa kuitira kuti ugone kuipwanya kuita zvidimbu zviduku uye kudya nzou chidimbu nechidimbu ne teaspoon. Panofanira kuva nekunzwisisa kuti uri kufamba nenzira kwayo here, kuti uende kwenguva yakareba sei.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Kazhinji, hazvina basa kuti zvichaitwa sei, unogona kunyora pabepa, unogona kuisa zvimiti pawadhiropu, unogona kugadzira mabasa muJira, kana unogona kuvhura Google Docs uye nyora pasi chimiro chazvino. ikoko. Makumbo anokura kubva pakuti nzira yacho haisi pakarepo, ichava yakareba uye inotyisa. Hazvigoneki kuti chero munhu anoda kuti iwe upise kunze kwemazano, kuneta, uye nekuremerwa panguva yekudzokorora.

Iyo refactoring iri nyore:

  • Edya.
  • Kurara.
  • Coded.
  • IaC bvunzo.
  • dzokorora

uye tinodzokorora izvi kusvikira tasvika pachinangwa chakatarwa.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Zvingave zvisingaite kutanga kuyedza zvese ipapo ipapo, saka basa redu rekutanga raive rekutanga nekuisa uye kutarisa syntax.

Zuva #181: Green Build Master

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Linting idanho diki rekutanga rakananga kuGreen Build Master. Izvi hazviputse chero chero chinhu, asi zvinokutendera iwe kugadzirisa maitiro uye kugadzira girinhi inovaka muJenkins. Pfungwa ndeyekukudziridza maitiro pakati pechikwata:

  • Maedzo matsvuku akaipa.
  • Ndakauya kuzogadzirisa chimwe chinhu uye panguva imwe chete ita kuti code ive nani zvishoma pane zvayakanga iri pamberi pako.

Zuva #193: Kubva pakusungirirwa kuenda kumayuniti bvunzo

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Mushure mekuvaka maitiro ekuwana iyo kodhi mune tenzi, unogona kutanga maitiro ekuvandudza nhanho-ne-nhanho - kutsiva linting nekutanga mabasa, unogona kuzviita usina idempotency. Iwe unofanirwa kunzwisisa mashandisirwo emabasa uye kuti anoshanda sei.

Zuva #211: Kubva payuniti kuenda kumiyedzo yekubatanidza

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Kana mabasa mazhinji akafukidzwa neyuniti bvunzo uye zvese zvakaiswa, unogona kuenderera mberi nekuwedzera bvunzo dzekubatanidza. Avo. kuyedza kwete chidhinha chimwe chete muzvivakwa, asi musanganiswa wavo, semuenzaniso, yakazara muenzaniso gadziriso.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Tichishandisa jenkins, takagadzira nhanho dzakawanda dzakarongedza mabasa / mabhuku ekutamba nenzira yakafanana, ipapo bvunzo dzeyuniti mumidziyo, uye pakupedzisira bvunzo dzekubatanidza.

Jenkins + Docker + Ansible = Miedzo

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

  1. Checkout repo uye gadzira matanho ekuvaka.
  2. Mhanyai lint playbook nhanho mukuwirirana.
  3. Mhanyai nhanho dzezviyero zvakaenzana.
  4. Mhanyai syntax cheki nhanho dzezvimiro zvakafanana.
  5. Mhanyai nhanho dzezviyedzo mukufambirana.
    1. Lint basa.
    2. Tarisa kutsamira pane mamwe mabasa.
    3. Tarisa syntax.
    4. Gadzira docker muenzaniso
    5. Mhanyai molecule/default/playbook.yml.
    6. Tarisa kusava nesimba.
  6. Mhanya bvunzo dzekubatanidza
  7. pedza

Zuva #271: Bhazi Factor

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Pakutanga, refactoring yakaitwa neboka diki revanhu vaviri kana vatatu. Vakaongorora kodhi mune tenzi. Nekufamba kwenguva, timu yakagadzira ruzivo rwekunyora kodhi uye ongororo yekodhi yakabatsira mukuparadzira ruzivo nezvezvivakwa uye kuti zvinoshanda sei. Chinonyanya kukosha apa chaiva chokuti vaongorori vakasarudzwa mumwe nomumwe, maererano nehurongwa, i.e. neimwe dhigirii yemukana iwe uchakwira muchikamu chitsva chezvivakwa.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Uye inofanira kuva yakasununguka pano. Zviri nyore kuita wongororo, ona mukati megadziriro yebasa randakaitwa, uye nhoroondo yenhaurirano. Isu takabatanidza jenkins + bitbucket + jira.

Asi nekudaro, ongororo haisi panacea; neimwe nzira, takapinda mune master code, izvo zvakaita kuti tiite flop bvunzo:

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

Vakabva vagadzirisa, asi mavhu akasara.

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

Zuva #311: Kumhanyisa bvunzo

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Nekufamba kwenguva, pakanga paine mimwe miedzo, kuvaka kwakamhanya zvishoma, kusvika awa mune yakaipisisa kesi. Pane imwe retros pakanga paine mutsara wakaita sekuti "zvakanaka kuti kune bvunzo, asi dzinononoka." Nekuda kweizvozvo, isu takasiya bvunzo dzekubatanidza pamakina chaiwo uye tikazvigadzirisa kuti Docker iite nekukurumidza. Isu takatsiva zvakare testinfra neansible verifier kuti tideredze huwandu hwematurusi anoshandiswa.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Kutaura zvazviri, pakanga pane seti yematanho:

  1. Chinja kune docker.
  2. Bvisa basa rekuyedza, iro rinodzokororwa nekuda kwekutsamira.
  3. Wedzera nhamba yevaranda.
  4. Test run order.
  5. Kugona kubata VOSE munharaunda nemurairo mumwe.

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Nekuda kweizvozvo, Pipeline pajenkins yaivewo yakabatana

  1. Gadzira matanho ekuvaka.
  2. Rongedza zvese zvakaenzana.
  3. Mhanyai nhanho dzezviyedzo mukufambirana.
  4. Pedza.

Zvidzidzo zvadzidza

Dzivisa kuchinja kwepasi rose

Ansible inoshandisa pasi rose variables, pane chikamu chekushanda muchimiro private_role_vars, asi iyi haisi mushonga.

Rega ndikupe muenzaniso. Ngatiitei 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}}

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Chinhu chinosekesa ndechekuti mhedzisiro yemabhuku ekutamba inotsamira pazvinhu zvisingawanzo kuoneka, senge kurongeka kwakanyorwa mabasa. Zvinosuruvarisa, ichi ndicho chimiro cheAnsible uye chinhu chakanakisisa chinogona kuitwa kushandisa imwe rudzi rwechibvumirano, semuenzaniso, mukati mechikamu, shandisa chete shanduko inotsanangurwa mubasa iri.

BAD: shandisa global variable.

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

KUGONA: V defaults tsanangura zvinodiwa zvakasiyana uye gare gare shandisa iwo chete.

# 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

Prefix basa variables

BAD: shandisa global variable.

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

KUGONA: Mumabasa ekusiyana-siyana, shandisa mabhizaunu ane prefix nezita rebasa; izvi, nekutarisa panheyo, zvinozoita kuti zvive nyore kunzwisisa zviri kuitika.

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

Shandisa loop control variable

BAD: Shandisa yakajairwa kusiyanisa muzvishwe item, kana basa iri / bhuku rekutamba rakaiswa pane imwe nzvimbo, izvi zvinogona kutungamirira kumaitiro asingatarisirwi

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

KUGONA: Tsanangurazve shanduko mu loop kuburikidza loop_var.

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

Tarisa mabhii ekuisa

Takabvumirana kushandisa maprefixes akasiyana-siyana; hazvingave zvakanyanyisa kutarisa kuti zvinotsanangurwa sezvatinotarisira uye, semuenzaniso, hazvina kupfuudzwa nemutengo usina chinhu.

KUGONA: Tarisa zvakasiyana.

- 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

Dzivisa hashes dictionaries, shandisa flat chimiro

Kana basa rinotarisira hashi / dictionary mune imwe yemiganhu yayo, zvino kana tichida kushandura imwe yemwana parameters, tichada kudarika iyo yose hashi / dictionary, iyo inowedzera kugadzirisa kuoma.

BAD: Shandisa hashi/duramazwi.

---
user:
  name: admin
  group: admin

KUGONA: Shandisa chimiro chakati sandara.

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

Gadzira mabhuku ekutamba asina basa & mabasa

Mabasa uye mabhuku ekutamba anofanira kunge asina simba, nekuti inoderedza kudhirowa kwekugadzirisa uye kutya kutyora chimwe chinhu. Asi kana iwe ukashandisa molecule, saka iyi ndiyo maitiro ekutanga.

Dzivisa kushandisa command shell modules

Kushandisa shell module kunoguma mune yakakosha tsananguro paradigm, panzvimbo yeinozivisa, inova musimboti weAnsible.

Edza mabasa ako kuburikidza nemorekuru

Molecule chinhu chinochinjika kwazvo, ngatitarisei pane mashoma mamiriro.

Molecule Multiple zviitiko

Π’ molecule.yml muchikamu platforms iwe unogona kutsanangura akawanda mauto aunogona kuendesa.

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

Naizvozvo, mauto aya anogona kudaro converge.yml shandisa:

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

Ansible verifier

Mumorekuru zvinogoneka kushandisa zvinonzwisisika kutarisa kuti muenzaniso wakagadziriswa nemazvo, uyezve, izvi zvave zvisirizvo kubva pakaburitswa 3. Haisi kuchinjika se testinfra/inspec, asi isu tinogona kutarisa kuti zviri mukati mefaira zvinoenderana nezvatinotarisira:

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

Kana kuendesa sevhisi, mirira kuti ivepo uye uite bvunzo yehutsi:

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

Isa yakaoma logic mumamodule & plugins

Ansible anomiririra nzira yekuzivisa, saka kana iwe uchiita kodhi branching, data shanduko, shell modules, iyo kodhi inova yakaoma kuverenga. Kurwisa izvi uye kuzvichengeta zviri nyore kunzwisisa, zvingave zvisingaite kurwisa uku kuomarara nekugadzira ako mamodule.

Pfupisa Mazano & Mazano

  1. Dzivisa kuchinja kwepasi rose.
  2. Prefix basa variables.
  3. Shandisa loop control variable.
  4. Tarisa mabhii ekuisa.
  5. Dzivisa hashes dictionaries, shandisa flat chimiro.
  6. Gadzira mabhuku ekutamba asina basa & mabasa.
  7. Dzivisa kushandisa command shell modules.
  8. Edza mabasa ako kuburikidza nemorekuru.
  9. Isa yakaoma logic mumamodule & plugins.

mhedziso

Maitiro ekutanga kuyedza Ansible, refactor iyo purojekiti mugore uye kwete kupenga

Iwe haugone kungoenda uye kugadzirisa zvivakwa pane purojekiti, kunyangwe iwe uine IaC. Iyi inzira yakareba inoda moyo murefu, nguva uye ruzivo.

UPD1 2020.05.01 20:30 - Yekutanga profiling yemabhuku ekutamba aunogona kushandisa callback_whitelist = profile_tasks kuti unzwisise kuti chii chaizvo chinoshanda kwenguva yakareba. Tinobva tapfuura Ansible acceleration classics. Unogonawo kuedza mitogen
UPD2 2020.05.03 16:34 - Chirungu vERSION

Source: www.habr.com

Voeg