Ҳамин ки лоиҳа ба таври маҳаллӣ кор мекунад, чор фармон онро ба сомонаи фаъол дар хостинги Zinn Digital® интиқол медиҳанд: ворид шудан, пайваст кардани лоиҳа ба ҷойгоҳи хостинг, хондани тафтиши пешакӣ ва ирсол (push). Ин мақола ҳар яки онҳоро, чиро чоп кардани онҳо ва фармонҳоеро, ки баъдан истифода мебаред — дубора роҳандозӣ кардан, таърихи роҳандозӣ ва сабтҳои сохтанро ба таври муфассал шарҳ медиҳад.
Бо калиди API ворид шавед
Дар панели идоракунӣ дар бахши Settings → API keys калид эҷод кунед, сипас:
zinnector login
Калид дар сатри даъват ворид карда мешавад — он ҳеҷ гоҳ дар сатри фармон қабул карда намешавад, бинобар ин он наметавонад дар таърихи ниҳонии сатри фармон ё рӯйхати равандҳои Шумо пайдо шавад. Дар CI, онро ба ин тарз интиқол диҳед: echo "$ZINN_API_KEY" | zinnector login --profile ci, ё ZINNECTOR_TOKEN-ро таъйин намуда, аз login комилан гузаред. Калид пеш аз захира шудан тафтиш карда мешавад ва бо ҳолати файлии 600 нигоҳ дошта мешавад. zinnector whoami --scopes нишон медиҳад, ки Шумо ба кадом созмон ворид шудаед ва калид кадом иҷозатҳоро дорад; калиди озмоишӣ (sandbox) ҳамчун чунин нишонгузорӣ карда мешавад.
Пайваст кардани лоиҳа ба ҷойгоҳ
zinnector link # сомонаро аз рӯйхат интихоб кунед
zinnector link example.com --repo acme/site --branch main
Фармони link шиносаи сомонаро ба zinnector.json менависад ва, агар Шумо --no-repo-ро истифода набаред, анбори дурдасти git-и лоиҳаро ба сомонаи дар платформа буда мепайвандад, то ки ирсол (push) онро роҳандозӣ намояд. zinnector.json-ро commit кунед: ҳамкоре, ки анборро нусхабардорӣ (clone) мекунад, бидуни огоҳӣ ба ҳамон ҷой роҳандозӣ менамояд. Он ягон маълумоти махфиро нигоҳ намедорад.
Хондани тафтиши пешакӣ
zinnector check
Ин ҳамон фармонест, ки CLI барои он вуҷуд дорад. Он лоиҳаи Шуморо бо ҷойгоҳе, ки қарор аст ба он роҳандозӣ шавад, муқоиса мекунад ва ҳар як номувофиқатӣ — ва ҳар як муқоисаеро, ки карда натавонист, чоп мекунад:
- Нусхаи PHP, ки фарқияти нусхаи асосӣ ҳамчун high (баланд) дараҷабандӣ мешавад, зеро он сомонаро бечунучаро вайрон мекунад, ва фарқияти хурдтар пасттар дараҷабандӣ мешавад, зеро дараҷабандии ҳама чиз ҳамчун муҳим одамонро водор мекунад, ки аз огоҳӣ чашм пӯшанд.
- Оё ҷойгоҳ метавонад ба нусхае, ки Шумо дар он сохтаед, гузарад, оё PHP-и ҷойгоҳ мӯҳлати истифодааш гузаштааст, ва оё мошин нусхаро татбиқ кардааст ё танҳо ба он дастур дода шудааст.
- Андоза ва шумораи файлҳои лоиҳаи Шумо нисбат ба фазои холии диск ва inode, ки воқеан дар ҷойгоҳ боқӣ мондааст — дарахти WordPress метавонад пеш аз расидан ба маҳдудияти диски худ аз файлҳо маҳрум шавад.
- Нусхаҳои WordPress дар ҳар ду ҷониб, оё ҷойгоҳ омодасозиро ба анҷом расонидааст, ва оё анбор пайваст аст барои ирсол ба он.
Он огоҳ мекунад; он ҳеҷ гоҳ масдуд намекунад. Ҳар як натиҷаро метавон бо zinnector push --force бекор кард, зеро Шумо дар бораи сомонаи худ чизҳоеро медонед, ки санҷишгар намедонад. Муқоисае, ки анҷом дода намешавад, на ҳамчун муваффақият, балки ҳамчун unknown гузориш дода мешавад ва хулоса ҳамеша нишон медиҳад, ки чандтои онҳо вуҷуд доштанд. Ба таври пешфарз нусхаи маҳаллии PHP ҳамонест, ки дар zinnector.json эълон шудааст; --probe муҳити иҷрои маҳаллиро оғоз мекунад ва ба ҷои он онро чен мекунад. --strict инчунин ҳангоми номаълум будан бо рамзи ғайрисифрӣ баромад мекунад, ки маҳз барои санҷиши CI зарур аст.
Ирсол (Push)
zinnector push
Фармони push тафтиши пешакиро иҷро мекунад, commit-ҳои Шуморо мефиристад, роҳандозиро оғоз мебахшад ва онро то анҷомёбӣ назорат мекунад ва ҳолати ниҳоӣ ва commit-и роҳандозишударо чоп менамояд. --dry-run ҳама чизро ба ҷуз роҳандозӣ иҷро мекунад; --no-wait онро оғоз намуда, хориҷ мешавад; --no-git он чиро, ки платформа аллакай дорад, бидуни ирсол роҳандозӣ мекунад. Агар commit-и роҳандозишуда он чизе набошад, ки нав ирсол шудааст, он инро нишон медиҳад.
Вақте ки чизе нодуруст меравад
zinnector deploys example.com # таърихи роҳандозӣ — ҳолат, commit, оғозкунанда, паём
zinnector logs example.com --build # сабти сохтани охирин роҳандозӣ
zinnector logs example.com --error # сабти хатогиҳои сомона
zinnector deploy example.com # дубора роҳандозӣ кардани он чизе, ки платформа аллакай дорад
zinnector ai "why is my deploy failing?"
zinnector ai дар платформа барои ҳисоби шахсии Шумо кор мекунад, бинобар ин он метавонад ҳамон таърихи роҳандозӣ ва сабтҳоро бубинад. Аз дохили лоиҳа он сохтори лоиҳаро — номи феҳристҳо, нусхаҳо ва шиносаи сомонаро мефиристад — ва ҳеҷ гоҳ мундариҷаи файлҳоро намефиристад.
Марбут