Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Izi ndiye zolembedwa zisudzo pa DevOps-40 2020-03-18:

Kuyambira pakuchita kwachiwiri, code iliyonse imakhala cholowa, chifukwa malingaliro oyambirira amayamba kupatukana ndi zenizeni zenizeni. Izi sizabwino kapena zoyipa, zimaperekedwa zomwe zimakhala zovuta kutsutsana nazo ndipo ziyenera kukhala nazo. Mbali ya ndondomekoyi ndi refactoring. Refactoring Infrastructure monga Code. Nkhaniyi iyambike momwe mungapangire Ansible mu chaka osapenga.

Kubadwa kwa Cholowa

Tsiku #1: Wodwala Zero

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Kalekale panali polojekiti yokhazikika. Inali ndi gulu lachitukuko cha Dev ndi mainjiniya a Ops. Iwo anali kuthetsa vuto lomwelo: momwe angatumizire ma seva ndikuyendetsa ntchito. Vuto linali loti timu iliyonse idathetsa vutoli mwanjira yake. Pantchitoyi, zidaganiza zogwiritsa ntchito Ansible kulumikiza chidziwitso pakati pa magulu a Dev ndi Ops.

Tsiku #89: Kubadwa kwa Cholowa

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Mosazindikira iwo eni, iwo anafuna kuchita izo monga momwe angathere, koma izo zinakhala choloΕ΅a. Kodi izi zimachitika bwanji?

  • Tili ndi ntchito yachangu pano, tiyeni tichite zodetsa ndikukonza.
  • Simukuyenera kulemba zolemba ndipo zonse zikuwonekeratu zomwe zikuchitika pano.
  • Ndikudziwa Ansible/Python/Bash/Terraform! Taonani momwe ine ndingazembere!
  • Ndine Full Stack Overflow Developer ndipo ndinakopera izi kuchokera ku stackoverflow, sindikudziwa momwe zimagwirira ntchito, koma zikuwoneka bwino ndikuthetsa vutoli.

Zotsatira zake, mutha kupeza mtundu wosamvetsetseka wa kachidindo komwe kulibe zolembedwa, sizikudziwikiratu zomwe zimachita, kaya zikufunika, koma vuto ndilakuti muyenera kukulitsa, kusintha, kuwonjezera ndodo ndi zothandizira. , kupangitsa kuti zinthu ziipireipire.

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

Tsiku #109: Kudziwitsa za vutoli

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Mtundu wa IaC womwe udapangidwa koyambirira komanso wokhazikitsidwa sukwaniritsanso zofunikira za ogwiritsa ntchito / mabizinesi / magulu ena, ndipo nthawi yosintha magwiridwe antchito imasiya kuvomerezeka. Panthawiyi, kumvetsetsa kumabwera kuti ndi nthawi yoti tichitepo kanthu.

IaC refactoring

Tsiku #139: Kodi mukufunadi kukonzanso?

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Musanathamangire ku refactor, muyenera kuyankha mafunso angapo ofunikira:

  1. Nchifukwa chiyani mukufunikira zonsezi?
  2. Kodi muli ndi nthawi?
  3. Kodi chidziwitso chokwanira?

Ngati simukudziwa momwe mungayankhire mafunso, ndiye kuti kukonzanso kutha kusanayambike, kapena kungangowonjezereka. Chifukwa anali ndi experience ( Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code), ndiye polojekitiyi idalandira pempho lothandizira kukonza maudindo ndikuwaphimba ndi mayesero.

Tsiku #149: Kukonzekera kukonzanso

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Chinthu choyamba ndi kukonzekera. Sankhani zomwe tingachite. Kuti tichite izi, timalankhulana, timapeza madera omwe ali ndi mavuto ndikupeza njira zothetsera mavutowo. Timalemba zomwe zimatsatira mwanjira ina, mwachitsanzo nkhani yolumikizana, kotero kuti funso likabuka "chabwino ndi chiyani?" kapena "zolondola ndi ziti?" Sitinataye njira yathu. Kwa ife tinamamatira ku lingalirolo gawani ndi kulamulira: timaphwanya zomangamanga kukhala zidutswa zing'onozing'ono / njerwa. Njirayi imakulolani kuti mutenge gawo lapadera lachitukuko, kumvetsetsa zomwe likuchita, kuphimba ndi mayesero ndikusintha popanda kuopa kuswa chilichonse.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Zikuwonekeratu kuti kuyesa kwachitukuko kumakhala mwala wapangodya ndipo apa ndikofunikira kutchula piramidi yoyesa zomangamanga. Lingaliro lomwelo lomwe likukula, koma lachitukuko: tikuchoka pamayesero otsika mtengo omwe amayang'ana zinthu zosavuta, monga indentation, kupita ku mayeso okwera mtengo omwe amatumiza zida zonse.

Kuyesa koyenera

Tisanapite kufotokoza momwe tinachitira mayesero a Ansible pa polojekitiyi, ndikufotokozera zoyesayesa ndi njira zomwe ndinali ndi mwayi wogwiritsa ntchito kale kuti ndimvetsetse zomwe zasankhidwa.

Tsiku No. -997: Kupereka kwa SDS

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Nthawi yoyamba yomwe ndinayesa Ansible inali pa polojekiti yopanga SDS (Software Defined Storage). Pali nkhani ina pamutuwu
Momwe mungathyole njinga pa ndodo poyesa kugawa kwanu, koma mwachidule, tinatha ndi piramidi yoyesera yosinthika ndikuyesa tidakhala mphindi 60-90 pa gawo limodzi, lomwe ndi nthawi yayitali. Maziko ake anali mayeso a e2e, i.e. tinayika makina odzaza ndi kuyesa. Chomwe chinamuipira kwambiri chinali kutulukira njinga yakeyake. Koma ndiyenera kuvomereza, yankholi linagwira ntchito ndipo linalola kumasulidwa kokhazikika.

Tsiku # -701: Ansible ndi kuyesa khitchini

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Kupititsa patsogolo lingaliro la kuyesa kwa Ansible kunali kugwiritsa ntchito zida zopangidwa kale, zomwe ndi khitchini yoyesera / khitchini-ci ndi inspec. Kusankhako kudatsimikiziridwa ndi chidziwitso cha Ruby (kuti mumve zambiri, onani nkhani ya HabrΓ©: Kodi opanga mapulogalamu a YML amalota kuyesa Ansible?) adagwira ntchito mwachangu, pafupifupi mphindi 40 pa maudindo khumi. Tinapanga paketi yamakina enieni ndikuyesa mayeso mkati.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Nthawi zambiri, yankho linagwira ntchito, koma panali matope chifukwa cha kusiyanasiyana. Pamene chiwerengero cha anthu oyesedwa chinawonjezeka kukhala 13 maudindo ofunika ndi 2 meta maudindo kuphatikiza maudindo ang'onoang'ono, ndiye mwadzidzidzi mayesero anayamba kuthamanga kwa mphindi 70, amene pafupifupi 2 nthawi yaitali. Zinali zovuta kulankhula za XP (mapulogalamu apamwamba) chifukwa ... palibe amene akufuna kudikira mphindi 70. Ichi chinali chifukwa chosinthira njira

Tsiku # -601: Ansible ndi molekyulu

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Mwachidziwitso, izi ndizofanana ndi testkitchen, kokha tidasunthira kuyesa ku docker ndikusintha stack. Zotsatira zake, nthawiyo idachepetsedwa kukhala mphindi 20-25 pa maudindo 7.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Powonjezera kuchuluka kwa maudindo oyesedwa mpaka 17 ndikuyika maudindo 45, tidayendetsa izi mu mphindi 28 pa akapolo a 2 jenkins.

Tsiku #167: Kuwonjezera mayeso oyenerera ku polojekitiyi

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Mwachidziwikire, sikutheka kuchita ntchito yokonzanso mwachangu. Ntchitoyi iyenera kukhala yoyezeka kuti muthe kuiphwanyira tinthu tating'onoting'ono ndikudya njovu chidutswa ndi chidutswa ndi supuni ya tiyi. Payenera kukhala kumvetsetsa ngati mukuyenda njira yoyenera, nthawi yayitali bwanji.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Nthawi zambiri, zilibe kanthu momwe zidzachitikire, mutha kulemba papepala, mutha kuyika zomata pachipinda, mutha kupanga ntchito ku Jira, kapena mutha kutsegula Google Docs ndikulemba momwe ziliri pano. Apo. Miyendo imakula chifukwa chakuti ndondomekoyi si nthawi yomweyo, idzakhala yaitali komanso yotopetsa. Sizokayikitsa kuti wina akufuna kuti muwotche malingaliro, kutopa, ndi kupsinjika panthawi yokonzanso.

The refactoring ndi yosavuta:

  • Idyani.
  • Kugona.
  • Kodi.
  • Mayeso a IaC.
  • Bwerezani

ndipo timabwereza izi mpaka tikwaniritse cholinga chomwe tafuna.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Sizingatheke kuyamba kuyesa chilichonse nthawi yomweyo, chifukwa chake ntchito yathu yoyamba inali kuyamba ndikuyika ndikuwunika mawu.

Tsiku #181: Green Build Master

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Linting ndi gawo laling'ono lolowera ku Green Build Master. Izi sizidzaphwanya chilichonse, koma zimakupatsani mwayi wokonza zolakwika ndikupanga zobiriwira ku Jenkins. Lingaliro ndikukulitsa zizolowezi pakati pa gulu:

  • Mayeso ofiira ndi oipa.
  • Ndabwera kudzakonza china chake ndipo nthawi yomweyo ndikupangitsa kuti code ikhale yabwinoko kuposa momwe idalili musanayambe.

Tsiku #193: Kuchokera pamayeso kupita ku mayeso a unit

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Mutapanga njira yopezera kachidindo kukhala mbuye, mutha kuyamba njira yosinthira pang'onopang'ono - m'malo mwa linting ndikuyambitsa maudindo, mutha kuzichita popanda chidziwitso. Muyenera kumvetsetsa momwe mungagwiritsire ntchito maudindo komanso momwe amagwirira ntchito.

Tsiku #211: Kuchokera pagawo mpaka mayeso ophatikiza

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Maudindo ambiri akakhala ndi mayeso a mayunitsi ndipo chilichonse chili ndi zingwe, mutha kupitiliza kuwonjezera mayeso ophatikiza. Iwo. kuyesa osati njerwa imodzi muzomangamanga, koma kuphatikiza kwa izo, mwachitsanzo, kasinthidwe kathunthu.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Pogwiritsa ntchito ma jenkins, tidapanga magawo ambiri omwe amalumikizana ndi magawo / mabuku osewerera mofananira, kenako kuyesa mayunitsi m'mitsuko, ndipo pomaliza mayeso ophatikiza.

Jenkins + Docker + Ansible = Mayesero

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

  1. Checkout repo ndikupanga magawo omanga.
  2. Pangani magawo a lint playbook molumikizana.
  3. Pangani magawo a lint motsatana.
  4. Yendetsani magawo a cheke cha syntax molumikizana.
  5. Yendetsani magawo a mayeso motsatana.
    1. Lint udindo.
    2. Onani kudalira maudindo ena.
    3. Onani mawu omveka bwino.
    4. Pangani chitsanzo cha docker
    5. Thamangani molekyulu/default/playbook.yml.
    6. Onani kusazindikira.
  6. Yendetsani mayeso ophatikiza
  7. chitsiriziro

Tsiku #271: Factor ya Mabasi

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Poyamba, refactoring inachitika ndi gulu laling'ono la anthu awiri kapena atatu. Iwo adawunikiranso code mu master. M'kupita kwa nthawi, gululo linapanga chidziwitso cha momwe mungalembere kachidindo ndi ndondomeko yowonongeka inathandizira kufalitsa chidziwitso chokhudza zomangamanga ndi momwe zimagwirira ntchito. Chochititsa chidwi apa chinali chakuti owunikirawo adasankhidwa mmodzimmodzi, malinga ndi ndondomeko, i.e. ndi kuthekera kwina mudzakwera mu gawo latsopano la zomangamanga.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Ndipo ziyenera kukhala zomasuka pano. Ndikoyenera kubwereza, kuwona mkati mwa dongosolo la ntchito yomwe idachitidwa, ndi mbiri ya zokambirana. Taphatikiza ma jenkins + bitbucket + jira.

Koma motere, kuwunikanso si vuto; mwanjira ina, tidalowa mu code code, zomwe zidatipangitsa kuyesa mayeso:

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

Kenako anachikonza, koma chotsalacho chinatsala.

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

Tsiku #311: Kufulumizitsa mayeso

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

M'kupita kwa nthawi, panali mayesero ambiri, kumanga kunkayenda pang'onopang'ono, mpaka ola limodzi poyipa kwambiri. Pa imodzi mwa ma retros panali mawu akuti "ndibwino kuti pali mayeso, koma akuchedwa." Zotsatira zake, tidasiya mayeso ophatikizira pamakina enieni ndikuwasintha kuti a Docker azichita mwachangu. Tinasinthanso testinfra ndi zotsimikizira kuti tichepetse kuchuluka kwa zida zomwe zimagwiritsidwa ntchito.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Kunena zoona, panali miyeso ingapo:

  1. Sinthani ku docker.
  2. Chotsani kuyesa kwa maudindo, komwe kumabwerezedwa chifukwa chodalira.
  3. Onjezani chiwerengero cha akapolo.
  4. Yesani dongosolo loyendetsa.
  5. Kukhoza kujambula ONSE kwanuko ndi lamulo limodzi.

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Zotsatira zake, Pipeline pa jenkins adalumikizananso

  1. Pangani magawo omanga.
  2. Lembani zonse molingana.
  3. Yendetsani magawo a mayeso motsatana.
  4. Malizitsani.

Zomwe taphunzira

Pewani kusinthasintha kwapadziko lonse

Ansible amagwiritsa ntchito zosintha zapadziko lonse lapansi, pali njira ina yogwirira ntchito private_role_vars, koma iyi si mankhwala.

Ndiroleni ndikupatseni chitsanzo. Tiyeni titero 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}}

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Chosangalatsa ndichakuti zotsatira za mabuku osewerera zidzadalira zinthu zomwe sizidziwika nthawi zonse, monga momwe maudindo amalembedwera. Tsoka ilo, ichi ndi chikhalidwe cha Ansible ndipo chinthu chabwino kwambiri chomwe chingachitike ndikugwiritsa ntchito mgwirizano wamtundu wina, mwachitsanzo, mkati mwa gawo, gwiritsani ntchito zosinthika zomwe zafotokozedwa pagawoli.

OIPA: gwiritsani ntchito kusintha kwapadziko lonse.

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

WABWINO: V defaults fotokozani zosintha zofunikira ndipo kenako zigwiritseni ntchito zokha.

# 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

Zosintha zamaudindo oyambira

OIPA: gwiritsani ntchito kusintha kwapadziko lonse.

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

WABWINO: M'maudindo amitundu yosiyanasiyana, gwiritsani ntchito zosintha zomwe zili ndi dzina laudindo, izi, poyang'ana mndandanda, zipangitsa kuti zikhale zosavuta kumvetsetsa zomwe zikuchitika.

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

Gwiritsani ntchito kusintha kwa loop control

OIPA: Gwiritsani ntchito kusinthasintha kokhazikika mu malupu item, ngati ntchitoyi / buku lamasewera likuphatikizidwa kwinakwake, izi zingayambitse khalidwe losayembekezereka

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

WABWINO: Tanthauziraninso kusinthika mu lupu kudzera loop_var.

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

Onani zosintha

Tinavomera kugwiritsa ntchito ma prefixes osinthika; sikungakhale kofunikira kuwona ngati akufotokozedwa monga momwe timayembekezera ndipo, mwachitsanzo, sizinapitiritsidwe ndi mtengo wopanda kanthu.

WABWINO: Onani zosintha.

- 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

Pewani madikishonale a hashes, gwiritsani ntchito mawonekedwe athyathyathya

Ngati udindo ukuyembekezera hashi / dikishonale mu imodzi mwa magawo ake, ndiye ngati tikufuna kusintha chimodzi mwa magawo a mwana, tidzafunika kupitilira hashi / dictionary yonse, zomwe zidzakulitsa zovuta za kasinthidwe.

OIPA: Gwiritsani ntchito hashi/dikishonale.

---
user:
  name: admin
  group: admin

WABWINO: Gwiritsani ntchito mawonekedwe osinthika.

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

Pangani mabuku amasewera ndi maudindo opanda nzeru

Maudindo ndi mabuku osewerera ayenera kukhala opanda nzeru, chifukwa amachepetsa kusuntha kwa kasinthidwe ndikuwopa kuthyola china chake. Koma ngati mugwiritsa ntchito molekyulu, ndiye kuti iyi ndi khalidwe losasintha.

Pewani kugwiritsa ntchito ma module a chipolopolo

Kugwiritsa ntchito gawo la chipolopolo kumabweretsa paradigm yofunikira, m'malo mwa yolengeza, yomwe ndi maziko a Ansible.

Yesani maudindo anu pogwiritsa ntchito molekyulu

Molekyulu ndi chinthu chosinthika kwambiri, tiyeni tiwone zochitika zingapo.

Mamolekyulu angapo

Π’ molecule.yml mu gawo platforms mukhoza kufotokoza makamu ambiri omwe mungathe kuwatumizira.

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

Chifukwa chake, makamu awa akhoza kukhala converge.yml gwiritsani ntchito:

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

Mu molekyulu ndizotheka kugwiritsa ntchito ansible kuti muwone ngati chitsanzocho chakonzedwa bwino, kuphatikiza apo, izi zakhala zosasinthika kuyambira kumasulidwa 3. Sizosinthika monga testinfra/inspec, koma titha kuwona kuti zomwe zili mufayilo zikugwirizana ndi zomwe tikuyembekezera:

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

Kapena tumizani ntchitoyo, dikirani kuti ipezeke ndikuyesa utsi:

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

Ikani malingaliro ovuta kukhala ma module & mapulagini

Ansible amalimbikitsa njira yodziwitsira, chifukwa chake mukapanga ma code nthambi, kusintha kwa data, ma module a zipolopolo, code imakhala yovuta kuwerenga. Kuti muthane ndi izi ndikupangitsa kuti zikhale zosavuta kumvetsetsa, sizingakhale zovuta kuthana ndi zovuta izi popanga ma module anu.

Mwachidule Malangizo & Zidule

  1. Pewani kusinthasintha kwapadziko lonse.
  2. Zosintha zamaudindo oyambira.
  3. Gwiritsani ntchito kusintha kwa loop control.
  4. Onani zosintha.
  5. Pewani madikishonale a hashes, gwiritsani ntchito mawonekedwe athyathyathya.
  6. Pangani mabuku amasewera ndi maudindo opanda nzeru.
  7. Pewani kugwiritsa ntchito ma module a chipolopolo.
  8. Yesani maudindo anu pogwiritsa ntchito molekyulu.
  9. Ikani malingaliro ovuta kukhala ma module & mapulagini.

Pomaliza

Momwe mungayambitsire Ansible, refactor polojekitiyi mu chaka osati misala

Simungangopita ndikukonzanso zomangamanga pa polojekiti, ngakhale mutakhala ndi IaC. Iyi ndi njira yayitali yomwe imafuna kuleza mtima, nthawi ndi chidziwitso.

UPD1 2020.05.01 20:30 - Pakulemba mbiri koyambirira kwamabuku omwe mungagwiritse ntchito callback_whitelist = profile_tasks kumvetsetsa zomwe zimagwira ntchito kwa nthawi yayitali. Kenako timadutsa Ansible acceleration classics. Mukhozanso kuyesa mitogen
UPD2 2020.05.03 16:34 - English Version

Source: www.habr.com

Kuwonjezera ndemanga