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
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.
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
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.
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
Tsiku #211: Kuchokera pagawo mpaka mayeso ophatikiza
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.
Yendetsani magawo a cheke cha syntax molumikizana.
Yendetsani magawo a mayeso motsatana.
Lint udindo.
Onani kudalira maudindo ena.
Onani mawu omveka bwino.
Pangani chitsanzo cha docker
Thamangani molekyulu/default/playbook.yml.
Onani kusazindikira.
Yendetsani mayeso ophatikiza
chitsiriziro
Tsiku #271: Factor ya Mabasi
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.
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:
- 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.
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.
---
- 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
Pewani kusinthasintha kwapadziko lonse.
Zosintha zamaudindo oyambira.
Gwiritsani ntchito kusintha kwa loop control.
Onani zosintha.
Pewani madikishonale a hashes, gwiritsani ntchito mawonekedwe athyathyathya.
Pangani mabuku amasewera ndi maudindo opanda nzeru.
Pewani kugwiritsa ntchito ma module a chipolopolo.
Yesani maudindo anu pogwiritsa ntchito molekyulu.
Ikani malingaliro ovuta kukhala ma module & mapulagini.
Pomaliza
Simungangopita ndikukonzanso zomangamanga pa polojekiti, ngakhale mutakhala ndi IaC. Iyi ndi njira yayitali yomwe imafuna kuleza mtima, nthawi ndi chidziwitso.