Ka timata mai i te mahi tuarua, ka riro tetahi waehere hei taonga tuku iho, na te mea Ka timata nga whakaaro tuatahi ki te rereke mai i te mooni kino. Ehara tenei i te pai, i te kino ranei, he mea homai he uaua ki te tautohetohe me te noho. Ko tetahi waahanga o tenei tukanga ko te refactoring. Te Whakahou Hanganga hei Waehere. Me timata te korero me pehea te whakahoki ano i a Ansible i roto i te tau kia kaua e porangi.
Te Whanautanga o Nga Taonga tuku iho
Ra #1: Patient Zero
I tetahi wa he kaupapa here. He roopu whanaketanga Dev me nga miihini Ops. I whakatauhia e ratau te raru kotahi: me pehea te tuku i nga kaitoro me te whakahaere tono. Ko te raruraru ko ia kapa i whakaoti tenei raruraru i runga i tana ake huarahi. I te kaupapa, i whakatauhia kia whakamahia te Ansible ki te tukutahi i nga matauranga i waenga i nga roopu Dev me Ops.
Ra #89: Te Whanautanga o Nga Taonga Tukunga
Ma te kore e aro ki a ratou ano, i pirangi ratou ki te mahi i nga mea e taea ana, engari ka puta he taonga tuku iho. Me pehea e tupu ai?
He mahi ohorere ta tatou i konei, me mahi he mahi paru, katahi ka whakatika.
Kaore koe e tuhi i nga tuhinga me nga mea katoa e marama ana nga mea kei konei.
E mohio ana ahau ki a Ansible/Python/Bash/Terraform! Titiro me pehea e taea ai e au te karo!
He Kaiwhakawhanake Full Stack Overflow ahau me te kape i tenei mai i te stackoverflow, kaore au i te mohio me pehea te mahi, engari he pai te ahua me te whakaoti rapanga.
Ko te mutunga, ka taea e koe te tiki i tetahi momo waehere e kore e mohiohia kaore he tuhinga, kaore i te maarama he aha tana mahi, ahakoa e hiahiatia ana, engari ko te raru me whakawhanake koe, whakarereke, taapirihia nga tootoo me nga tautoko. , ka kino rawa atu te ahuatanga.
Ko te tauira IaC i whakaarohia i te tuatahi ka whakatinanahia kaore e tutuki i nga whakaritenga a nga kaiwhakamahi / pakihi / etahi atu roopu, a ka mutu te wa ki te whakarereke i nga hanganga. I tenei wa, ka tae mai te maarama kua tae ki te wa ki te mahi.
IaC refactoring
Ra #139: Kei te tino hiahia koe ki te whakahou?
I mua i to tere ki te refactor, me whakautu e koe etahi patai nui:
He aha koe i hiahia ai i enei mea katoa?
He wa koe?
He nui te matauranga?
Ki te kore koe e mohio ki te whakautu i nga patai, ka mutu te refactoring i mua i te tiimatanga, ka kino noa atu ranei. No te mea he wheako ( He aha taku i ako mai i te whakamatautau 200 Raina Waehere Hanganga), katahi ka tae mai he tono awhina ki te kaupapa ki te whakatika i nga mahi me te kapi ki nga whakamatautau.
Ra #149: Te whakarite i te refactoring
Ko te mea tuatahi ko te whakarite. Whakatauhia ta tatou e mahi. Ki te mahi i tenei, ka whakawhitiwhiti korero, ka kimi i nga waahi raruraru me te kimi huarahi hei whakaoti. Ka tuhia e matou nga hua o nga ariā, hei tauira, he tuhinga i roto i te hononga, kia puta te patai "he aha te mea pai?" ranei "ko tehea te mea tika?" Kare ano matou i ngaro. I roto i to maatau, i mau tonu matou ki te whakaaro wehewehe me te whakahaere: ka wawahia e matou nga hanganga ki nga wahi iti/pereki. Ma tenei huarahi ka taea e koe te tango i tetahi waahanga motuhake, te mohio ki tana mahi, ka hipoki ki nga whakamatautau me te whakarereke me te kore e mataku ki te pakaru i tetahi mea.
Te ahua nei ka noho ko te whakamatautau hanganga te kohatu kokonga, a he mea tika kia whakahuahia te koeko whakamatautau hanganga. He rite tonu te whakaaro kei te whanaketanga, engari mo nga hanganga: kei te neke tatou mai i nga whakamatautau tere iti e tirotiro ana i nga mea ngawari, penei i te nuku, ki nga whakamatautau utu utu nui e tuku ana i nga hanganga katoa.
Nga whakamatautau ka taea
I mua i te haere ki te whakamaarama me pehea te hipoki i nga whakamatautau Ansible i runga i te kaupapa, ka whakaahua ahau i nga nganatanga me nga huarahi i whai waahi ahau ki te whakamahi i mua atu kia mohio ai ahau ki te horopaki o nga whakatau i mahia.
Ra Nama -997: Whakarato SDS
Ko te wa tuatahi i whakamatauhia e au te Ansible i runga i tetahi kaupapa ki te whakawhanake SDS (Software Defined Storage). He tuhinga motuhake mo tenei kaupapa Me pehea te wawahi i nga paihikara i runga i nga tootoo ina whakamatautau i to tohatoha, engari i roto i te poto, ka mutu matou ki te koeko whakamātautau kōaro me te whakamatautau i pau matou 60-90 meneti i runga i tetahi mahi, he wa roa. Ko te kaupapa ko nga whakamatautau e2e, i.e. i horahia e matou he whakaurunga katoa ka whakamatauria. Ko te mea tino kino ko te hanga o tana ake paihikara. Engari me whakaae ahau, i mahi tenei otinga me te tuku mo te tuku pumau.
Ra # -701: Ka taea te kihini me te whakamatautau
Ko te whanaketanga o te whakaaro whakamatautau Ansible ko te whakamahi i nga taputapu kua rite, ara te kihini whakamatautau / kihini-ci me te inspec. I whakatauhia te whiringa ma te mohio ki a Ruby (mo etahi atu korero, tirohia te tuhinga mo Habré: Kei te moemoea nga kaihōtaka YML ki te whakamatautau Ansible?) i tere ake te mahi, tata ki te 40 meneti mo nga mahi 10. I hangaia e matou he kete miihini mariko me te whakahaere whakamatautau ki roto.
I te nuinga, i whai hua te otinga, engari he parataiao na te rerekeetanga. I te pikinga o nga tangata i whakamatauria ki te 13 nga mahi taketake me te 2 nga mahi meta e whakakotahi ana i nga waahi iti, katahi ka timata nga whakamatautau mo te 70 meneti, he tata ki te 2 nga wa roa. He uaua ki te korero mo nga mahi XP (whakamahinga tino nui) na te mea... kaore tetahi e hiahia ana ki te tatari mo te 70 meneti. Koinei te take i huri ai te huarahi
Ra # -601: He kaha me te ngota ngota
Ko te tikanga, he rite tenei ki te whare whakamatautau, ko ta maatau i neke te whakamatautau mahi ki te docker me te whakarereke i te puranga. Ko te mutunga mai, ka whakahekehia te wa ki te 20-25 meneti mo nga mahi e 7.
Na te whakanui ake i te maha o nga tuunga kua whakamatauria ki te 17 me te 45 nga tuunga, ka whakahaerehia e matou i roto i te 28 meneti i runga i nga pononga jenkins e rua.
Ra #167: Te taapiri i nga whakamatautau Ansible ki te kaupapa
Ko te nuinga, kaore e taea te mahi i te mahi refactoring i roto i te tere. Me ine te mahi kia taea ai e koe te wawahi kia iti, ka kai i te arewhana ki ia wahi me te tīpune. Me mohio kei te neke koe i te huarahi tika, te roa o te haere.
I te nuinga o te waa, kare he aha me pehea te mahi, ka taea e koe te tuhi ki runga pepa, ka taea e koe te whakauru i nga whakapiripiri ki runga i te kati, ka taea e koe te hanga mahi ki Jira, ka taea ranei e koe te whakatuwhera i nga Google Docs me te tuhi i te ahuatanga o naianei. i reira. Ko nga waewae ka tipu mai i te mea kaore i te tere te tukanga, ka roa, ka raruraru. Kaore pea tetahi e hiahia kia pau koe i nga whakaaro, ka ngenge, ka raru i te wa o te refactoring.
He ngawari te refactoring:
Kai.
Moe.
Waehere.
IaC whakamatautau.
Whakahiti ano
ka tuaruatia ano tenei kia tae ra ano ki te whainga kua whakaritea.
Kare pea e taea te timata ki te whakamatau i nga mea katoa i tenei wa tonu, no reira ko ta matou mahi tuatahi ko te timata ki te tuhi me te tirotiro i te wetereo.
Ra #181: Kaiwhakaako Hanga Kakariki
He iti te hikoi tuatahi ki te whakakakahu ki te Kaiwhakaako Hanga Kakariki. Kaore tenei e pakaru tata ki tetahi mea, engari ka taea e koe te whakakore i nga tukanga me te hanga i nga hanganga matomato ki Jenkins. Ko te whakaaro ko te whakawhanake i nga tikanga i waenga i te roopu:
He kino nga whakamatautau whero.
I haere mai ahau ki te whakatika i tetahi mea me te wa ano kia pai ake te waehere i to mua.
Ra #193: Mai i te whakakakahu ki nga whakamatautau wae
Ka oti te hanga i te tikanga ki te whakauru i te waehere ki roto i te rangatira, ka taea e koe te tiimata ki te whakapai ake i nga taahiraa - te whakakapi i te riipene me nga mahi whakarewa, ka taea e koe te mahi me te kore he ngoikoretanga. Me mohio koe me pehea te whakamahi i nga mahi me te mahi.
Ra #211: Mai i te waeine ki nga whakamatautau whakauru
Ina kapi te nuinga o nga mahi ki nga whakamatautau wae me nga mea katoa, ka taea e koe te neke atu ki te taapiri i nga whakamatautau whakauru. Ko era. Ko te whakamatautau kaore i te pereki kotahi i roto i te hanganga, engari he huinga o ratou, hei tauira, he whirihoranga tauira katoa.
Ma te whakamahi i nga jenkins, i hangaia e matou he maha nga waahanga e whakarara ana i nga mahi/pukapuka, katahi ka whakamatauhia nga waahanga i roto i nga ipu, ka mutu nga whakamatautau whakauru.
Jenkins + Docker + Ansible = Whakamātautau
Tirohia te repo me te whakaputa i nga waahanga hanga.
Whakahaerehia nga wahanga pukapuka pukapuka whakarara.
Whakahaerehia nga wahanga o te lint ki te whakarara.
Whakahaerehia nga wahanga mahi tirotiro wetereo ki te whakarara.
Whakahaerehia nga waahanga whakamatautau i roto i te whakarara.
Te mahi lino.
Tirohia te whakawhirinaki ki etahi atu mahi.
Tirohia te wetereo.
Waihanga tauira docker
Whakahaere molecule/default/playbook.yml.
Tirohia te matekore.
Whakahaerehia nga whakamatautau whakauru
Mutu
Ra #271: Tauwehe Pahi
I te tuatahi, i mahia e te roopu iti e rua, e toru ranei nga tangata. I arotakehia e ratou te waehere i roto i te rangatira. I te roanga o te wa, i whakawhanake te roopu i te mohiotanga ki te tuhi waehere me te arotake waehere i whai waahi ki te horahanga matauranga mo te hanganga me pehea te mahi. Ko te mea nui i konei ko nga kai-arotake i whiriwhiri takitahi, i runga i te rarangi rarangi, i.e. me etahi ahua o te tupono ka piki koe ki tetahi waahanga hanganga hou.
A me noho pai ki konei. He pai ki te mahi arotake, tirohia i roto i te anga o te mahi i mahia, me te hitori o nga korerorero. Kua whakauruhia e matou te jenkins + bitbucket + jira.
Engari na tenei, ko te arotake ehara i te panacea; he aha, ka uru matou ki te tohu matua, na reira i pai ai nga whakamatautau:
I te roanga o te waa, he maha atu nga whakamatautau, he puhoi ake te oma o te hanga, tae atu ki te haora i roto i te keehi kino rawa atu. I runga i tetahi o nga korero whakamuri he kupu penei "he pai kei reira nga whakamatautau, engari he puhoi." Ko te mutunga mai, i whakarerea e matou nga whakamatautau whakauru i runga i nga miihini mariko me te urutau mo Docker kia tere ake. I whakakapia ano e matou te testinfra ki te kaitirotiro pono hei whakaiti i te maha o nga taputapu e whakamahia ana.
Ko te tino korero, he huinga mehua:
Hurihia ki te docker.
Tangohia nga whakamatautau mahi, he mea taarua na te mea e whakawhirinaki ana.
Whakanuia te maha o nga taurekareka.
Te raupapa oma whakamatautau.
Te kaha ki te lint KATOA rohe me te whakahau kotahi.
Ko te mutunga mai, i whakakotahi ano te Pipeline on jenkins
Waihangahia nga waahanga hanga.
Whakarara katoa.
Whakahaerehia nga waahanga whakamatautau i roto i te whakarara.
Whakaoti.
Nga akoranga i ako
A ape i nga taurangi o te ao
Ka whakamahi a Ansible i nga taurangi o te ao, he waahanga waahanga kei roto i te ahua private_role_vars, engari ehara tenei i te rongoa.
Ka hoatu e ahau he tauira. Kia whai tatou role_a и role_b
Ko te mea rorirori ko te hua o nga pukapuka takaro ka whakawhirinaki ki nga mea kaore e tino kitea i nga wa katoa, penei i te raupapatanga o nga tuunga. Kia aroha mai, koinei te ahua o Ansible me te mea pai ka taea ko te whakamahi i etahi momo whakaaetanga, hei tauira, i roto i tetahi mahi, whakamahia te taurangi e whakaahuatia ana i tenei mahi.
MAITAI: I roto i nga mahi mo nga taurangi, whakamahia nga taurangi kua tohua ki mua me te ingoa mahi, na tenei, ma te titiro ki te raarangi, ka maamaa ake te maarama ki nga mea kei te tupu.
I whakaae matou ki te whakamahi i nga prefix taurangi; ehara i te mea karekau he mea kee ki te tirotiro kua tautuhia ki ta matou e tumanako ana, a, hei tauira, kaore i whakakorehia e te uara putua
MAITAI: Takina taurangi.
- 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
A ape i nga papakupu tohu, whakamahia te hanganga papatahi
Mena kei te tumanako tetahi mahi ki te hash/papakupu i roto i tetahi o ona tawhā, na, ki te hiahia tatou ki te huri i tetahi o nga tawhā tamaiti, me whakakorehia te katoa o te hash/papakupu, ka piki ake te uaua o te whirihoranga.
Me whai mana nga mahi me nga pukapuka takaro, na te mea ka whakaiti i te rere o te whirihoranga me te mataku kei pakaru tetahi mea. Engari ki te whakamahi koe i te ngota ngota, koinei te whanonga taunoa.
A ape i te whakamahi i nga waahanga anga whakahau
Ma te whakamahi i te anga anga ka puta he tauira whakamaarama nui, hei utu mo te korero whakapuakanga, koinei te kaupapa matua o Ansible.
Whakamātauria ō tūranga mā te rāpoi ngota
He mea tino ngawari te mole, me titiro ki etahi ahuatanga.
Molecule He maha nga wa
В molecule.yml i te wahanga platforms Ka taea e koe te whakaahua i te maha o nga kaihautu ka taea e koe te tuku.
I roto i te ngota ngota ka taea te whakamahi ansible ki te tirotiro kua tika te whirihora o te tauira, hei taapiri, koinei te taunoa mai i te tukunga 3. Ehara i te mea ngawari penei i te testinfra/inspec, engari ka taea e taatau te tirotiro kei te rite nga ihirangi o te konae ki o maatau tumanako:
Tohaina ranei te ratonga, tatari kia watea mai ka mahia he whakamatautau auahi:
---
- 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
Whakauruhia te arorau matatini ki roto i nga waahanga me nga monomai
Ka tautokohia e Ansible tetahi huarahi korero, na, ka mahi koe i te pekanga waehere, te hurihanga raraunga, te anga anga, ka uaua te panui. Ki te whawhai i tenei me te ngawari ki te maarama, ehara i te mea he kee te whawhai i tenei uaua ma te hanga i o ake waahanga.
Whakarāpopotohia nga Tohutohu me nga Tinihanga
A ape i nga taurangi o te ao.
Taurangi tūranga o mua.
Whakamahia te taurangi mana koropiko.
Tirohia nga taurangi whakauru.
A ape i nga papakupu korero, whakamahia te hanganga papatahi.
Waihangahia nga pukapuka whakaari me nga mahi.
A ape i te whakamahi i nga waahanga anga whakahau.
Whakamātauria ō tūranga mā te rāpoi ngota.
Whakauruhia te arorau matatini ki roto i nga waahanga me nga monomai.
mutunga
Kaore e taea e koe te haere noa ki te whakahou i nga hanganga i runga i tetahi kaupapa, ahakoa kei a koe te IaC. He tukanga roa tenei me te manawanui, te wa me te matauranga.
UPD1 2020.05.01 20:30 - Mo te tohu tuatahi mo nga pukapuka takaro ka taea e koe te whakamahi callback_whitelist = profile_tasks kia mohio ai he aha te mahi mo te wa roa. Na ka haere tatou Matarohia tere tere. Ka taea hoki e koe te whakamatau mitogen UPD2 2020.05.03 16:34 - Reo Ingarihi