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
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 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.
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?
Ae e te leʻi faanatinati e toe faʻaleleia, e tatau ona e taliina ni fesili taua:
Aisea e te manaʻomia ai nei mea uma?
E iai sou taimi?
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
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 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
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
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.
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
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 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 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.
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.
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
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
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
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.
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
Siaki le repo ma fa'atupu tulaga fau.
Fa'ata'ita'i fa'asologa o tusi ta'aloga fa'asolosolo.
Fa'ata'ita'i fa'agasologa fa'asolosolo fa'atasi.
Fa'ata'ita'i fa'ata'ita'iga fa'asologa o le syntax ile fa'atutusa.
Fa'ata'ita'i tulaga fa'ata'ita'i fa'atasi.
Lint matafaioi.
Siaki le faalagolago i isi matafaioi.
Siaki le syntax.
Fausia se fa'ata'ita'iga a le docker
Fa'asolo le molecule/default/playbook.yml.
Siaki le fa'aletonu.
Fa'atino su'ega tu'ufa'atasi
faʻauma
Aso #271: Fa'ailoga Pasi
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.
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:
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.
O le mea moni, sa i ai se seti o fuataga:
Su'e ile docker.
Aveese le su'ega o matafaioi, lea e fa'alua ona o fa'alagolago.
Fa'ateleina le aofa'i o pologa.
Fa'atonuga ole su'ega.
Malosiaga e lint UMA i le lotoifale ma le poloaiga e tasi.
O se taunuuga, na tuufaatasia foi le Pipeline i jenkins
Fausia laasaga fausia.
Lisi uma i le tutusa.
Fa'ata'ita'i tulaga fa'ata'ita'i fa'atasi.
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
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.
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.
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
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.
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.
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:
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
Aloese mai fesuiaiga o le lalolagi.
Su'esu'ega tulaga muamua.
Fa'aaoga le fesuiaiga o le pulea o matasele.
Siaki fesuiaiga o totonu.
'Alo'ese mai lomifefiloi hasshes, fa'aoga fausaga mafolafola.
Fausia ni tusi ta'aloga ma matafaioi.
Aloese mai le fa'aogaina o modules atigi fa'atonu.
Su'e au matafaioi e ala ile mole.
Tuu manatu lavelave i modules & plugins.
iʻuga
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