Uru:
- Ikike ịghọta ike nke Bash, Python na PowerShell ma nwee ọgụgụ isi na-emepụta ihe dị mma, ederede ederede echedoro.
- Ikike itinye ihe nchebe na scripts dị ka set-euo pipefail, nlele mgbanwe efu, ọnọdụ akọrọ na ịde osisi.
- Ikike ịgụ iwu ndị na-emebi emebi ma nwalee ha na mpaghara dịpụrụ adịpụ na nke mbụ na-agba ọsọ, na itinye ịdọ aka ná ntị nke ịghara itinye ihe nzuzo na edemede ahụ.
Achịkọtara mmụọ nke DevOps n'otu ahịrịokwu: "Mee ọrụ ị na-arụ ugboro abụọ." Ọrụ ọ bụla a na-emegharị ugboro ugboro nke a na-eji aka eme - log Cleanup, nkwado ndabere, nlele ahụike nkesa, nhazi faịlụ batch - na-ewe oge ma mebie ya site na njehie mmadụ. Ederede na-eweghara ọrụ ndị a: obere mmemme na-eme usoro iwu n'usoro n'usoro, ntụkwasị obi na nke enwere ike ikwugharị. Ọkachamara DevOps na-ejikarị asụsụ atọ: Bash (maka Linux/Unix shei scripts), Python (maka mgbagha mgbagwoju anya, ịkpọ oku API, njikwa data), na PowerShell (maka Windows na njikwa igwe ojii).
AI nwere ike ịbụ ebe ọ na-enye uru kachasị bara uru na ọgbọ edemede: ịmepụta akwụkwọ na-arụ ọrụ site na nkọwa nke otu ahịrịokwu, dozie ahụhụ dị omimi, ịtụgharị ederede n'asụsụ ọzọ. Mana edemede dị ize ndụ ma ọ bụrụ na-agba ọsọ na-enweghị isi - rm na-ezighi ezi, Wepụ-Item -Recurse ga-ehichapụ faịlụ na-agbanweghi agbanwe. Ọ bụ ya mere isiokwu nke otu a ji bụrụ: Ka AI dee edemede ahụ, gụọ ya, nwalee ya na ọnọdụ nchekwa na mbụ, wee mee ya.
Kedu asụsụ ị ga-ahọrọ na mgbe? Usoro isi mkpịsị aka siri ike: ma ọ bụrụ na ọrụ ahụ gụnyere ịgba ọsọ ọtụtụ iwu usoro n'usoro (detuo faịlụ, ọrụ malitegharịa, weghachite Archive) Bash bụ nhọrọ kachasị mma n'ihi na Linux dị na sava. Ọ bụrụ na ọrụ ahụ gụnyere mgbagha mkpebi, looping, mgbanwe data, ịrịọ API, ma ọ bụ nhazi JSON — ya bụ, mgbagha gafere ahịrị 20 —Python pụtara maka ịgụ ya na ọba akwụkwọ bara ụba; Ederede Bash dị mgbagwoju anya na-aghọ ngwa ngwa enweghị nghọta, ebe Python ka dị mfe idowe. Ọ bụrụ na ọrụ ahụ gụnyere ijikwa sava Windows, Active Directory, ma ọ bụ Azure, PowerShell bụ gburugburu ebe obibi n'ihi na ọdịdị ya dabere na ihe ya jikọtara ya na nyiwe ndị a. Ịkọwapụta asụsụ ị họọrọ na ihe kpatara mgbe ị na-arịọ maka edemede na AI na-eme ka ọ pụta ìhè na mmepụta ahụ dabara adaba na nke dị mma maka gburugburu ebe obibi gị.
Nzọụkwụ site na nzọụkwụ: ọgbọ edemede echekwara
- Kọwaa ọrụ na gburugburu ebe obibi. Kedu ihe ọ ga-eme, nke OS / shei, ihe mgbochi?
- Rịọ maka ụgbọ okporo ígwè nchekwa. Na bash, set -euo pipefail (kwụsị na njehie, kwụsị na agbanweghị agbanwe), nkwenye ozugbo maka arụ ọrụ dị ize ndụ, buru ụzọ buru ụzọ kama ihichapụ.
- Rịọ ọnọdụ akọrọ. Ka script dee ihe ị ga-eme --akọrọ-run, mana emela ya.
- Gụọ ma ghọta. Nyochaa ihe ahịrị ọ bụla na-eme, ọkachasị ihichapụ/bugharịa/arụ ọrụ netwọkụ.
- Gbalịa ya n'ebe dịpụrụ adịpụ. Na nchekwa ule, jiri data nlele mee ya.
- Tinye na ntinye osisi. Ka script dekọọ ihe ọ na-eme ka e wee lee ya anya ma emechaa.
Ihe dị mkpa nke idebe nchekwa
Edemede mmepụta kwesịrị ịgụnye ihe nchekwa ndị a:
- Nkwụsị na njehie. Bash: set-euo pipefail. PowerShell: $ErrorActionPreference = 'Kwụsị'. Ọ bụrụ na otu nzọụkwụ daa, ndị ọzọ ekwesịghị ịrụ ọrụ.
- Idempotency (repeatability). Ọ bụrụ na edemede ahụ na-agba ọsọ ugboro abụọ, ọ gaghị emebi mmebi okpukpu abụọ; "Ọ bụrụ na i nweela ya, gbanye ya" mgbagha.
- Nkwenye na akọrọ-agba ọsọ. Maka ọrụ mbibi "ị ji n'aka?" ma ọ bụ ọkọlọtọ --akọrọ-agba ọsọ.
- Ntinye nkwado. Ndị paramita dị ka a tụrụ anya ya? Ngbanwe efu nwere ike ịtụgharị rm -rf "$ DIR"/ ka ọ bụrụ rm -rf / ọdachi.
- Ịbanye. Ndekọ ihe emere na mgbe.
Ndụmọdụ: Njehie kacha dị ize ndụ na Bash bụ iji mgbanwe efu ihichapụ. rm -rf "$DIR" na-agbalị ihichapụ mgbọrọgwụ ndekọ ma ọ bụrụ na $DIR efu. set -u (kwụsị na agbanweghị agbanwe) na ịlele [-n "$ DIR"] tupu ihichapụ bụ ihe nzọpụta. Rịọ ihe nchebe ndị a n'ụzọ doro anya mgbe ị na-arịọ edemede sitere na AI.
Nchekwa: iwu nzuzo na mbibi
Nnukwu ihe egwu abụọ:
- Ịtinye Nzuzo n'ime edemede. Okwuntughe agaghị abụ ederede doro anya n'ime edemede token; Ekwesịrị ịgụ ya site na mgbanwe gburugburu ebe obibi ma ọ bụ vault. Ederede na-abanye na Git; eli ozu nzuzo na-adịgide adịgide ihihi.
- Iwu mbibi. rm -rf, Wepụ-Ihe -Recurse -Force, DROP TABLE, terraform bibie - mgbe ị hụrụ ihe ndị a na edemede, kwụsịtụ chee echiche ugboro abụọ. Agbalịla iwu mbibi nke AI mepụtara na prod mbụ.
Kpachara anya: Mgbe ị gwara AI ka ọ "dee edemede na-ehichapụ faịlụ ndị a", jiri nlezianya gụọ obosara nke ịchọta ... -ehichapụ ma ọ bụ rm iwu ọ na-emepụta. Mpempe akwụkwọ (*) ma ọ bụ ụzọ na-ezighi ezi ga-ehichapụ karịa ka ịchọrọ ihichapụ. Na-ebu ụzọ mee script mgbe niile na ọnọdụ "ndesịta ka ihichapụ" kama ihichapụ.
Ntụnyere asụsụ atọ
akara
bash
Python
PowerShell
Ebe kacha mma
Linux shei, iwu yinye
Mgbagwoju anya mgbagwoju anya, API, data
Njikwa igwe ojii Windows
Usoro mmụta
Ọkara ( tọrọ atọ)
mfe
ọkara
Ijikwa mperi
set-euo pipefail
gbalịa/ma ewezuga
gbalịa/jide, -ErrorAction
ibu ibu
Unix/Linux/mac
ebe nile
Cross-ikpo okwu (PS 7+)
mgbe
Obere, sistemụ na-arụ ọrụ
Logic ogologo karịa ahịrị 20
Windows/AD/Azure
Obere ikpe atọ
Ikpe 1 - 2 awa nke nka n'ime 5 nkeji. Otu injinia nọ na-etinye awa 2 na-anakọta ma na-edobe ndekọ sitere na sava 40 kwa izu. O mere ka AI kọwapụta ọrụ ahụ wee debe -euo pipefail + nchekwa na-agba ọsọ wee mepụta edemede Bash. Buru ụzọ kwado edemede ahụ na akọrọ-agba, wee jikọta ya na ọrụ akwadoro (cron). A na-ebelata ọrụ kwa izu ruo nkeji 5 ma kpochapụ njehie mmadụ.
Ikpe 2 - ọdachi agbanweghị efu. Enwere rm -rf "$ TARGET"/* na edemede nhicha nke AI mepụtara, mana ọ bụrụ na ekenyeghị TARGET ebe, ọ ka bụ ihe efu. Ọ ghọtara nke a mgbe ọ na-agụ akwụkwọ dịka onye injinia; set -u na [-n "$TARGET"] || agbakwunyere njikwa ọpụpụ 1. N'oge a na-anwale, mgbanwe ahụ abaghị uru na edemede ahụ kwụsịrị n'enweghị nsogbu karịa ọdachi.
Ikpe 3 - eweghara akara agbakwunyere. Maka ịdị mma, AI agbakwunyela akara TOKEN = "ghp_realtoken" na edemede Python nke na-arịọ API (dịka ọmụmaatụ). Injinia wepụrụ nke a wee gbanwee ya ka ọ bụrụ ọgụgụ si na mgbanwe gburugburu ebe obibi na os.environ["TOKEN"] wee kagbuo ma megharịa akara ngosi ahụ. Ọ bụrụ na edemede ahụ gara Git, akara ahụ ga-abụ ọha.
Ndebiri anọ enwere ike iṅomi
1) Ederede Bash echekwara:
Dee edemede Bash: [TASK]. Iwu amanyere iwu: - `set -euo pipefail` na mbido. - Lelee na mgbanwe adịghị efu ebe ọ bụla ihichapụ / ịkwaga. Gụọ site na mgbanwe gburugburu ebe obibi. - Bipụta ndekọ ndekọ na nzọụkwụ ọ bụla. Kwuo edemede ahụ wee kaa akara kacha dị ize ndụ.
2) Nkọwa/nchịkwa script:
Kọwaa ahịrị edemede ndị a site n'ahịrị wee lelee nchekwa: nzuzo agbakwunyere, iwu mbibi (rm/Wepụ-Ihe/DROP), ntinye na-akwadoghị, enweghị njikwa njehie? Dee ihe egwu ọ bụla n'usoro dị mkpa na mgbazi. Edemede: [CODE]
3) Ntụgharị asụsụ:
Tụgharịa asụsụ edemede ahụ [ISI LANGUAGE] ka ọ bụrụ [TARGET LANGUAGE]. Debe omume ahụ n'ọnụ ọnụ, jiri njikwa njehie akpaala nke asụsụ ebumnuche, bugharịa ihe nzuzo ọ bụla agbakwunyere na mgbanwe gburugburu ebe obibi. Rịba ama isi nwere ike ịkpa àgwà dị iche.Script: [CODE]
4) Ọrụ akwadoro (ọrụ cron/ahaziri):
Jiri edemede a [FREQUENCY: eg. Dee nkọwa nhazi oge ([cron / systemd timer / Windows Task Scheduler]) nke ga-agba ọsọ [na elekere 02:00 kwa abalị]. Tinye ka m ga-esi dọọ m aka na ntị na ọdịda (koodu log/exit/ notification) yana otu esi egbochi ndakọrịta.
Ngwa ngwa adịghị ike / Ike siri ike
Adịghị ike: "Dee edemede na-ehichapụ faịlụ ochie."
Nsonaazụ: script rm enweghị oke, enweghị nchekwa, kpọrọ nkụ na-enweghị ọsọ; Ọ bụrụ na ọ na-agba ọsọ na folda na-ezighi ezi, ọ ga-ehichapụ na-enweghị mgbagha.
Ike: "Dee script bash ka ihichapụ faịlụ .log karịa ụbọchị 30 n'okpuru / var/log/app. Jiri set -euo pipefail, kwụsị ma ọ bụrụ na akwụkwọ ndekọ aha efu, depụta ihe ị ga-ehichapụ na --akọrọ-agba ọsọ mbụ, banye azụmahịa ọ bụla, etinyela ihe nzuzo ahụ. Kaa akara akara kachasị dị ize ndụ."
Ọdịiche: nkwupụta nke abụọ na-enye ohere zuru oke, nchekwa nchekwa na atụmanya akọrọ akọrọ; Enwere ike ịme mmepụta ahụ n'enweghị nsogbu.
Mmejọ ndị nkịtị
- Na-agba ọsọ edemede na-agụghị ya. Hichapụ/bugharịa ahịrị akpan akpan na-ebute ọdachi.
- Anaghị elele maka mgbanwe efu. Ọdachi kpochapụwo nke iji rm -rf "$X"/. ihichapụ ndekọ mgbọrọgwụ.
- gaa 'set-euo pipefail' / `-ErrorAction Stop'. Otu nzọụkwụ na-agba ọkụ, edemede ahụ na-aga n'ihu na-enweghị isi.
- Ịtinye Nzuzo n'ime edemede. Ndapụta na-adịgide adịgide na Git.
- Usoro mbibi na-enweghị akọrọ-agba ọsọ. Mbụ "gosi m ihe m ga-eme", mee ya.
- Na-eme nnwale mbụ na prod. Na-agba ọsọ na-enweghị ebe nnwale dịpụrụ adịpụ.
Na nchịkọta
DevOps bụ nka nke akpaaka; A na-enyefe ọrụ ugboro ugboro na edemede Bash, Python na PowerShell. AI dị ezigbo mma n'ịdepụta scripts, debugging, na ịsụgharị asụsụ - mana ederede echekwara kwesịrị ịgụnye ndị nche njehie dị ka set -euo pipefail, nlele na-agbanwe agbanwe, ọnọdụ akọrọ, enweghị nzuzo, na ịde osisi. Ọ bụ ọrụ gị ịgụ na nwalee edemede ọ bụla, ọkachasị ndị nwere iwu mbibi, na mpaghara dịpụrụ adịpụ wee buru ụzọ kpọọ nkụ.
Ọrụ ngwa
Họrọ ọrụ na-eme ugboro ugboro (nchekwa ndekọ, ndabere, ihicha). (1) Mee ka AI wepụta edemede echekwara ya na ndebiri “Secure Bash script”. (2) Lelee otu edemede ahụ maka nchekwa dị ka ndebiri "nkọwa / nyocha" wee chọta ahịrị kachasị dị ize ndụ nke AI gosipụtara. (3) Nyochaa omume ya site na iji faịlụ nlele mee ihe ederede na nchekwa ule, nke mbụ na --dry-run.
ndetu
- [] Edere m ọrụ m na-achọghị, OS/shell na nchekwa nchekwa.
- [] Edemede ahụ nwere njehie na-akwụsị dị ka set -euo pipefail / -ErrorAction Stop.
- [] Etinyere m mgbanwe efu yana nlele ndenye tupu ihichapụ/bugharịa.
- [] E nwere --akọrọ-agba ọsọ/usoro nkwenye maka arụrụ ọrụ mbibi.
- [] Ọ dịghị ihe nzuzo agbakwunyere na edemede; ụkpụrụ na-abịa site na gburugburu ebe obibi agbanwe/ikpe.
- [] Emere m ule mbụ na gburugburu ule dịpụrụ adịpụ nke nwere nkụ-ọsọ.