ඒකක
1. DevOps සහ Cloud AI සඳහා හැඳින්වීම: භූමිකාවන්, සීමා මායිම්, සත්‍යාපනය, ආරක්ෂාව සහ රහස් 2. කෘතිම බුද්ධිය සහිත CI/CD නල මාර්ග සැලසුම් කිරීම: GitHub ක්‍රියා සහ GitLab CI 3. කේතය ලෙස යටිතල පහසුකම් කළමනාකරණය: Terraform සහ IaC සමඟ කෘතිම බුද්ධිය 4. බහාලුම්කරණය: කෘතිම බුද්ධිය සමඟින් ඩොකර්ෆයිල් සහ රූප ප්‍රශස්තකරණය 5. කුබර්නෙටස්: මැනිෆෙස්ට්, හෙල්ම් සහ AI-බලවත් වාද්‍ය වෘන්දය 6. අධීක්‍ෂණය සහ නිරීක්ෂණ හැකියාව: මෙට්‍රික්, ලොග්, ට්‍රේස් සහ එලාම් රීති 7. සිදුවීම් කළමනාකරණය සහ පශ්චාත් මරණ පරීක්ෂණය: කෘතිම බුද්ධිය සමඟ මූල හේතුව විශ්ලේෂණය 8. Cloud Cost Optimization (FinOps): කෘතිම බුද්ධිය සමඟ අපද්‍රව්‍ය සඳහා දඩයම් කිරීම 9. ස්ක්‍රිප්ට් සහ ස්වයංක්‍රීය ජනනය: Bash, Python සහ PowerShell 10. ආරක්ෂාව සහ රහස් කළමනාකරණය: DevSecOps සහ කෘතිම බුද්ධිය 11. නිෂ්පාදන සත්‍යාපනය, මුදා හැරීමේ උපාය මාර්ග සහ අවසානය සිට අවසානය දක්වා AI කාර්ය ප්‍රවාහය
ඒකකය 9 / 11

ස්ක්‍රිප්ට් සහ ස්වයංක්‍රීය ජනනය: Bash, Python සහ PowerShell

ලාභ:

  • Bash, Python සහ PowerShell හි ශක්තීන් අවබෝධ කර ගැනීමට සහ කෘතිම බුද්ධිය ආරක්ෂිත, ආරක්ෂිත ස්ක්‍රිප්ට් කෙටුම්පත් නිෂ්පාදනය කිරීමට ඇති හැකියාව
  • set -euo pipefail, හිස් විචල්‍ය පරීක්ෂා කිරීම, වියළි ධාවන මාදිලිය සහ ලොග් වීම වැනි ස්ක්‍රිප්ට් වලට ආරක්ෂක වැටවල් එකතු කිරීමේ හැකියාව
  • විනාශකාරී විධාන කියවීමට සහ ඒවා හුදකලා පරිසරයක සහ පළමුව වියළි ධාවනයකින් අත්හදා බැලීමේ හැකියාව සහ පිටපතෙහි රහස ඇතුළත් නොකිරීමේ විනය යෙදීම.

DevOps හි ආත්මය එක් වාක්‍යයකින් සාරාංශ කර ඇත: "ඔබ කරන කාර්යය දෙවරක් ස්වයංක්‍රීය කරන්න." අතින් සිදු කරන ඕනෑම පුනරාවර්තන කාර්යයක් - ලොග් පිරිසිදු කිරීම, උපස්ථ ගැනීම, සේවාදායක සෞඛ්‍ය පරීක්ෂාව, කණ්ඩායම් ගොනු සැකසීම - කාලය ගත වන අතර අවසානයේ මිනිස් දෝෂයකින් දූෂිත වේ. ස්ක්‍රිප්ට් මෙම කාර්යයන් භාර ගනී: අනුක්‍රමික, විශ්වාසදායක සහ පුනරාවර්තන ආකාරයෙන් විධාන මාලාවක් ක්‍රියාත්මක කරන කුඩා වැඩසටහන්. DevOps වෘත්තිකයා නිතර භාෂා තුනක් භාවිතා කරයි: Bash (Linux/Unix shell scripts සඳහා), Python (සංකීර්ණ තර්කනය, API ඇමතුම්, දත්ත හැසිරවීම සඳහා) සහ PowerShell (වින්ඩෝස් සහ වලාකුළු කළමනාකරණය සඳහා).

AI යනු ස්ක්‍රිප්ට් උත්පාදනයේදී වඩාත් ප්‍රායෝගික වටිනාකමක් ලබා දෙන තැන විය හැකිය: එක් වාක්‍ය විස්තරයකින් වැඩ කරන කෙටුම්පතක් නිෂ්පාදනය කිරීම, අද්භූත දෝෂයක් විසඳීම, පිටපතක් වෙනත් භාෂාවකට පරිවර්තනය කිරීම. නමුත් ස්ක්‍රිප්ට් එකක් අන්ධ ලෙස ක්‍රියාත්මක වන විට අනතුරුදායක වේ - වැරදි rm, Remove-Item -Recurse ගොනු ආපසු හැරවිය නොහැකි ලෙස මකනු ඇත. මෙම ඒකකයේ ආදර්ශ පාඨය වන්නේ එබැවිනි: AI ට ස්ක්‍රිප්ට් ලිවීමට ඉඩ දෙන්න, ඔබ එය කියවන්න, පළමුව එය ආරක්ෂිත ආකාරයෙන් උත්සාහ කරන්න, ඉන්පසු එය ක්‍රියාත්මක කරන්න.

කුමන භාෂාව තෝරාගත යුතුද සහ කවදාද? රළු රීතියක්: කාර්යය සමන්විත වන්නේ පද්ධති විධාන කිහිපයක් පේළියක ක්‍රියාත්මක කිරීමෙන් (ගොනුව පිටපත් කිරීම, සේවාව නැවත ආරම්භ කිරීම, සංරක්ෂිතය ලබා ගැනීම) Linux සේවාදායකයන් මත සර්වසම්පූර්ණ බැවින් Bash වඩාත්ම ස්වාභාවික තේරීම වේ. කාර්යයට තීරණ තර්කය, ලූප කිරීම, දත්ත පරිවර්තනය, API ඉල්ලීම, හෝ JSON සැකසුම් ඇතුළත් වේ නම්—එනම්, පේළි 20 ඉක්මවන තර්කය—Python එහි කියවීමේ හැකියාව සහ පොහොසත් පුස්තකාල සඳහා කැපී පෙනේ; Python නඩත්තු කිරීමට පහසු වන අතර සංකීර්ණ Bash පිටපතක් ඉක්මනින් තේරුම්ගත නොහැකි වේ. කාර්යයට වින්ඩෝස් සර්වර්, ඇක්ටිව් ඩිරෙක්ටරිය හෝ අසුර් කළමනාකරණය කිරීම ඇතුළත් වේ නම්, පවර්ෂෙල් ස්වභාවික පරිසරය වන්නේ එහි වස්තු-නැඹුරු ස්වභාවය මෙම වේදිකා සමඟ ගැඹුරින් ඒකාබද්ධ වන බැවිනි. AI වෙත ස්ක්‍රිප්ට් එකක් ඉල්ලන විට ඔබ තෝරාගත්තේ කුමන භාෂාවද සහ ඇයිද යන්න සඳහන් කිරීමෙන් ප්‍රතිදානය ඔබේ පරිසරයට සුදුසු සහ මුග්ධ බව සහතික කරයි.

පියවරෙන් පියවර: ආරක්ෂිත ස්ක්‍රිප්ට් උත්පාදනය

  1. කාර්යය සහ පරිසරය විස්තර කරන්න. එය කුමක් කරයිද, කුමන OS/shell, කුමන බාධකද?
  2. ආරක්ෂිත වැටවල් ඉල්ලා සිටින්න. bash හි, සකසන්න -euo pipefail (දෝෂය මත නවත්වන්න, නිර්වචනය නොකළ විචල්‍ය මත නවත්වන්න), භයානක මෙහෙයුම් සඳහා තහවුරු කිරීමේ විමසුම, මකා දැමීම වෙනුවට පළමුව ගෙන යන්න.
  3. වියළි ධාවන මාදිලිය ඉල්ලන්න. ස්ක්‍රිප්ටයට --ඩ්‍රයි-රන් සමඟ කළ යුතු දේ ලිවීමට ඉඩ දෙන්න, නමුත් එය නොකරන්න.
  4. කියවා තේරුම් ගන්න. එක් එක් පේළිය කරන්නේ කුමක්ද යන්න සත්‍යාපනය කරන්න, විශේෂයෙන් මකා දැමීම/ ගෙනයාම/ජාල මෙහෙයුම්.
  5. හුදකලා පරිසරයක එය උත්සාහ කරන්න. පරීක්ෂණ ෆෝල්ඩරය තුළ, එය නියැදි දත්ත සමඟ ධාවනය කරන්න.
  6. ලොග් කිරීමට එකතු කරන්න. ස්ක්‍රිප්ටය එය කරන දේ පටිගත කිරීමට ඉඩ දෙන්න එවිට එය පසුව බැලිය හැක.

ආරක්ෂිත ස්ක්‍රිප්ට් කිරීමේ අත්‍යවශ්‍ය කරුණු

නිෂ්පාදන පිටපතක මෙම ආරක්ෂක වැටවල් ඇතුළත් විය යුතුය:

  • දෝෂයක් ඇති වුවහොත් නතර කිරීම. Bash: set -euo pipefail. PowerShell: $ErrorActionPreference = 'නවත්වන්න'. එක් පියවරක් අසාර්ථක වුවහොත්, ඊළඟ පියවර ක්රියා නොකළ යුතුය.
  • Idempotency (පුනරාවර්තනය වීමේ හැකියාව). ස්ක්‍රිප්ට් එක දෙවතාවක් දුවන්නේ නම්, එය ද්විත්ව හානියක් සිදු නොකළ යුතුය; "ඔබට දැනටමත් එය තිබේ නම්, එය මඟ හරින්න" තර්කනය.
  • අනුමැතිය සහ වියළි ධාවනය. විනාශකාරී මෙහෙයුම් සඳහා "ඔබට විශ්වාසද?" හෝ --වියළි ධාවන කොඩිය.
  • ආදාන වලංගුකරණය. පරාමිතීන් අපේක්ෂිත පරිදි තිබේද? හිස් විචල්‍යයකට rm -rf "$DIR"/ rm -rf / disaster බවට පත් කළ හැක.
  • ලොග් කිරීම. කළ දේ සහ කවදාද යන්න පිළිබඳ වාර්තාව.
ඉඟිය: Bash හි වඩාත්ම භයානක වැරැද්ද වන්නේ හිස් විචල්‍යයක් සමඟ මකා දැමීමයි. rm -rf "$DIR" $DIR හිස් නම් මූල නාමාවලිය මකා දැමීමට උත්සාහ කරයි. සකසන්න -u (නිර්වචනය නොකළ විචල්‍යයේ නවත්වන්න) සහ මකා දැමීමට පෙර [ -n "$DIR" ] පරීක්ෂා කිරීම ජීවිතාරක්ෂකයකි. AI වෙතින් ස්ක්‍රිප්ට් ඉල්ලන විට පැහැදිලිවම මෙම ආරක්ෂණ ඉල්ලා සිටින්න.

ආරක්ෂාව: රහස් සහ විනාශකාරී විධාන

විශාල අන්තරායන් දෙකක්:

  1. පිටපතට රහස ඇතුළත් කිරීම. ටෝකන් ස්ක්‍රිප්ටය තුළ මුරපදය සරල පාඨ නොවිය යුතුය; පාරිසරික විචල්‍ය හෝ සුරක්ෂිතාගාරයෙන් කියවිය යුතුය. ස්ක්‍රිප්ට් Git වෙත යයි; තැන්පත් වූ රහස ස්ථිර කාන්දුවකි.
  2. විනාශකාරී විධාන. rm -rf, Remove-Item -Recurse -Force, DROP TABLE, terraform destroy — ඔබ මේවා ස්ක්‍රිප්ට් එකක දකින විට නැවතී දෙවරක් සිතන්න. ප්‍රොඩ් හි AI විසින් ජනනය කරන ලද විනාශකාරී විධානය කිසි විටෙකත් උත්සාහ නොකරන්න.
අවවාදයයි: ඔබ AI ට "මෙම ගොනු පිරිසිදු කරන ස්ක්‍රිප්ට් එකක් ලියන්න" යැයි පවසන විට, එය නිපදවන සොයාගැනීමේ ... -delete හෝ rm විධානයේ විෂය පථය හොඳින් කියවන්න. Wildcard (*) හෝ වැරදි මාර්ගයක් ඔබට මැකීමට අවශ්‍ය ප්‍රමාණයට වඩා මකනු ඇත. මකාදැමීම වෙනුවට සෑම විටම ස්ක්‍රිප්ට් එක "මැකීමට ලැයිස්තුව" මාතයෙන් පළමුව ධාවනය කරන්න.

භාෂා තුනක සංසන්දනය

නිර්ණායකය

බැෂ්

පිඹුරා

PowerShell

හොඳම තැන

Linux shell, command chain

සංකීර්ණ තර්කනය, API, දත්ත

වින්ඩෝස් වලාකුළු කළමනාකරණය

ඉගෙනීමේ වක්රය

මධ්‍යම (උගුලට හසු වූ)

පහසුයි

මධ්යම

දෝෂ හැසිරවීම

set -euo pipefail

උත්සාහ / හැර

උත්සාහ/අල්ලා, -ErrorAction

අතේ ගෙන යා හැකි හැකියාව

Unix/Linux/mac

සෑම තැනකම

හරස් වේදිකාව (PS 7+)

කවදාද

කෙටි, පද්ධතිය ක්රියා කරයි

පේළි 20 කට වඩා දිගු තර්කනය

Windows/AD/Azure

කුඩා නඩු තුනක්

කේස් 1 - 2 පැය යාත්රා විනාඩි 5 කින්. ඉංජිනේරුවෙක් සෑම සතියකම සර්වර් 40කින් ලොග් එකතු කර සංරක්ෂණය කිරීමට පැය 2ක් වැය කරමින් සිටියේය. ඔහු AI විසින් කාර්යය විස්තර කර -euo pipefail + වියළි ධාවන ආරක්ෂණයන් සකසා Bash පිටපතක් ජනනය කළේය. ප්‍රථමයෙන් ස්ක්‍රිප්ට් එක වියළි ධාවනයකින් වලංගු කර, පසුව එය නියමිත කාර්යයට (ක්‍රෝන්) සම්බන්ධ කරන ලදී. සතිපතා වැඩ විනාඩි 5 දක්වා අඩු කර මානව දෝෂ ඉවත් කරනු ලැබේ.

2 වන අවස්ථාව - ශුන්‍ය විචල්‍ය ව්‍යසනය වළක්වා ඇත. AI විසින් නිෂ්පාදනය කරන ලද පිරිසිදු කිරීමේ ස්ක්‍රිප්ට් එකේ rm -rf "$TARGET"/* තිබී ඇත, නමුත් TARGET කොහේ හෝ පවරනු ලැබුවේ නැතිනම්, එය හිස්ව පවතී. ඔහු මෙය අවබෝධ කර ගත්තේ ඉංජිනේරුවෙකු ලෙස ඉගෙනුම ලබමින් සිටියදීය; set -u සහ [ -n "$TARGET" ] || පිටවීමේ 1 පාලනය එකතු කරන ලදී. පරීක්‍ෂා කිරීමේදී විචල්‍යය ශුන්‍ය වූ අතර ස්ක්‍රිප්ට් ව්‍යසනකාරී ලෙස නොව ආරක්ෂිතව නතර විය.

නඩුව 3 - කාවැද්දූ ටෝකනය අල්ලා ගන්නා ලදී. පහසුව සඳහා, AI විසින් API එකක් ඉල්ලා සිටින Python ස්ක්‍රිප්ට් එකකට TOKEN = "ghp_realtoken" රේඛාවක් එක් කර ඇත (උදාහරණයක් ලෙස). ඉංජිනේරුවරයා මෙය ඉවත් කර os.environ["TOKEN"] සමඟ පරිසර විචල්‍යයෙන් කියවීමට වෙනස් කර ටෝකනය අවලංගු කර අලුත් කළේය. ස්ක්‍රිප්ට් එක Git එකට ගියොත් ටෝකන් එක public වෙනවා.

පිටපත් කළ හැකි සැකිලි හතරක්

1) ආරක්ෂිත Bash පිටපත:

Bash පිටපතක් ලියන්න: [TASK]. අනිවාර්ය නීති:- ආරම්භයේදීම සකසන්න -euo pipefail.- මකා දැමීම/චලනය වන ඕනෑම තැනක විචල්‍යය හිස් නොවේදැයි පරීක්ෂා කරන්න.- `--dry-run` ධජය: මෙම ප්‍රකාරයේදී කළ යුතු දේ ලියන්න නමුත් එය නොකරන්න.- රහස කාවැද්දීමෙන් වළකින්න; පරිසර විචල්‍යයෙන් කියවන්න. - සෑම පියවරකදීම තොරතුරු ලොගය මුද්‍රණය කරන්න. ස්ක්‍රිප්ට් එක කමෙන්ට් කර භයානකම රේඛාව සලකුණු කරන්න.

2) ස්ක්‍රිප්ට් විස්තරය/පාලනය:

පහත ස්ක්‍රිප්ට් පේළිය පේළියෙන් විස්තර කර ආරක්‍ෂාව සඳහා පරීක්‍ෂා කරන්න: එබ්බවූ රහස්, විනාශකාරී විධානය (rm/Remove-Item/DROP), වලංගු නොවන ආදානය, දෝෂ හැසිරවීම නොමැතිකම? වැදගත්කම සහ නිවැරදි කිරීම අනුව එක් එක් අවදානම ලියන්න. ස්ක්‍රිප්ට්: [CODE]

3) භාෂා පරිවර්තනය:

එම [SOURCE LANGUAGE] ස්ක්‍රිප්ට් එක [TARGET LANGUAGE] වෙත පරිවර්තනය කරන්න. හැසිරීම වාචිකව තබා ගන්න, ඉලක්ක භාෂාවේ මුග්ධ දෝෂ හැසිරවීම භාවිතා කරන්න, ඕනෑම කාවැද්දූ රහස් පරිසර විචල්‍යයකට ගෙන යන්න. වෙනස් ලෙස හැසිරිය හැකි කරුණු සටහන් කරන්න. Script: [CODE]

4) සැලසුම් කළ කාර්යය (cron/නියමිත කාර්යය):

මෙම ස්ක්‍රිප්ට් භාවිතා කරන්න [සංඛ්‍යාත: උදා. [සෑම රාත්‍රියකම 02:00 ට] ක්‍රියාත්මක වන කාලසටහන අර්ථ දැක්වීමක් ([cron / systemd timer / Windows Task Scheduler]) ලියන්න. අසාර්ථක වීම ගැන මට අනතුරු අඟවන්නේ කෙසේද (ලොග්/පිටවීමේ කේතය/දැනුම්දීම) සහ අතිච්ඡාදනය වීම වළක්වා ගන්නේ කෙසේද යන්න එක් කරන්න.

දුර්වල ක්ෂණික / ශක්තිමත් විමසුම

දුර්වල: "පැරණි ගොනු මකා දමන ස්ක්‍රිප්ට් එකක් ලියන්න."

ප්‍රතිඵලය: විෂය පථයක් නැති, අනාරක්ෂිත, වියලි ධාවන රහිත rm ස්ක්‍රිප්ට් එකක්; එය වැරදි ෆෝල්ඩරයක ධාවනය කරන්නේ නම්, එය ආපසු හැරවිය නොහැකි ලෙස මකා දැමෙනු ඇත.

ශක්තිමත්: "/var/log/app යටතේ දින 30කට වඩා පැරණි .log ගොනු මැකීමට bash ස්ක්‍රිප්ට් එකක් ලියන්න. set -euo pipefail භාවිතා කරන්න, ඉලක්ක නාමාවලිය හිස් නම් නවත්වන්න, --dry-run සමඟ මකා දැමිය යුතු දේ ලැයිස්තුගත කරන්න, පළමුව සෑම ගනුදෙනුවක්ම ලොග් කරන්න, රහස කාවැද්දීම නොකරන්න. වඩාත්ම භයානක රේඛාව සලකුණු කරන්න."

වෙනස: දෙවන හිමිකම් පෑම මගින් සම්පූර්ණ විෂය පථය, ආරක්ෂක වැටවල් සහ වියළි ධාවන අපේක්ෂාව ලබා දෙයි; ප්රතිදානය ආරක්ෂිතව ධාවනය කළ හැකිය.

පොදු වැරදි

  • පිටපත කියවීමෙන් තොරව ධාවනය කිරීම. විශේෂයෙන් පේළි මකා දැමීම/ ගෙනයාම ව්‍යසනයට තුඩු දෙයි.
  • හිස් විචල්‍යයන් සඳහා පරීක්ෂා නොකරයි. rm -rf "$X"/ සමඟ මූල නාමාවලිය මකා දැමීමේ සම්භාව්‍ය ව්‍යසනය.
  • `set -euo pipefail` / `-ErrorAction Stop` මඟ හරින්න. පියවරක් ඇවිළෙයි, තිර රචනය අන්ධ ලෙස ඉදිරියට යයි.
  • පිටපතට රහස ඇතුළත් කිරීම. Git වෙත නිරන්තර කාන්දු වීම.
  • වියළි ධාවනයකින් තොරව විනාශකාරී ක්රියාවලිය. පළමුව "කළ යුතු දේ මට පෙන්වන්න", පසුව එය කරන්න.
  • නිෂ්පාදනයේ පළමු උත්සාහය කිරීම. හුදකලා පරීක්ෂණ පරිසරයක් නොමැතිව ධාවනය.

සාරාංශයකින්

DevOps යනු ස්වයංක්‍රීයකරණයේ කලාවයි; පුනරාවර්තන කාර්යය Bash, Python සහ PowerShell ස්ක්‍රිප්ට් වෙත පවරා ඇත. ස්ක්‍රිප්ට් කෙටුම්පත් කිරීම, නිදොස් කිරීම සහ භාෂා පරිවර්තනය කිරීම සඳහා AI ඉතා පහසු වේ - නමුත් ආරක්ෂිත ස්ක්‍රිප්ට් එකකට set -euo pipefail, null variable checking, dry-run mode, embedded secretlessness, and logging වැනි error guards ඇතුළත් විය යුතුය. සෑම ස්ක්‍රිප්ට් එකක්ම, විශේෂයෙන්ම විනාශකාරී විධාන අඩංගු ඒවා, හුදකලා පරිසරයක සහ ප්‍රථමයෙන් වියලි ධාවනය කිරීම කියවා පරීක්ෂා කිරීම ඔබේ වගකීමකි.

යෙදුම් කාර්යය

පුනරාවර්තන කාර්යයක් තෝරන්න (ලොග් සංරක්ෂණය, උපස්ථ, පිරිසිදු කිරීම). (1) "Secure Bash ස්ක්‍රිප්ට්" අච්චුව සමඟ ආරක්ෂිත පිටපතක් ජනනය කිරීමට AI ට සලස්වන්න. (2) "ස්ක්‍රිප්ට් විස්තරය/විගණනය" අච්චුව ලෙස ආරක්‍ෂාව සඳහා එකම ස්ක්‍රිප්ට් පරීක්‍ෂා කර AI සලකුණු කර ඇති භයානකම රේඛාව සොයා ගන්න. (3) පරීක්ෂණ ෆෝල්ඩරයක නියැදි ගොනු සමඟ ස්ක්‍රිප්ට් ධාවනය කිරීමෙන් එහි හැසිරීම තහවුරු කරන්න, පළමුව --dry-run සමඟ.

පිරික්සුම් ලැයිස්තුව

  • [ ] මම මට අවශ්‍ය නැති කාර්යය, OS/shell සහ ආරක්ෂක වැටවල් ලිව්වා.
  • [ ] ස්ක්‍රිප්ටයේ set -euo pipefail / -ErrorAction Stop වැනි නැවතීමේ දෝෂයක් ඇත.
  • [ ] මම මකාදැමීමට/ ගෙනයාමට පෙර හිස් විචල්‍ය සහ ආදාන පිරික්සුම එක් කළෙමි.
  • [ ] විනාශකාරී මෙහෙයුම් සඳහා --වියළි ධාවනය/තහවුරු කිරීමේ යාන්ත්‍රණයක් ඇත.
  • [ ] පිටපතෙහි කිසිදු රහසක් අන්තර්ගත වී නොමැත; අගයන් පැමිණෙන්නේ පරිසර විචල්‍ය/අවස්ථාවෙනි.
  • [ ] මම පළමු පරීක්ෂණය සිදු කළේ වියළි ධාවනය සහිත හුදකලා පරීක්ෂණ පරිසරයක ය.