Zinnector®

დეველოპერის CLI WordPress ჰოსტინგისთვის

Zinnector® აგებს WordPress-ს ლოკალურად ისე, რომ არაფერია დაინსტალირებული გარდა Node-ისა — არავითარი Docker, არავითარი MAMP — შემდეგ კი ამოწმებს თქვენ მიერ აგებულს იმ ჰოსტინგის სლოტთან მიმართებით, სადაც აპირებთ განთავსებას, და გეუბნებათ, რა არ დაემთხვევა, სანამ push-ს გააკეთებთ. დააინსტალირეთ ის ბრძანებით npm install -g zinnector. ის უფასოა, ლიცენზირებულია MIT-ით და აგებულია იმავე საჯარო API-ზე, როგორც ყველაფერი დანარჩენი აქ.

კოდის რედაქტორი ბრაუზერში, გახსნილი ფაილის გვერდით ფაილების ხით და მასში არსებული კურსორით.

ხუთი ბრძანება, და შუა არის მთავარი არსი

ჰოსტინგის CLI-ების უმეტესობა იწყება განთავსებისას. Zinnector® იწყება მანამდე — ის თქვენთან ერთად აშენებს საიტს და შემდეგ ამოწმებს თქვენს ნამუშევარს იმ მანქანასთან მიმართებით, რომელზეც მის გაგზავნას აპირებთ. უფსკრული „ჩემს ლეპტოპზე მუშაობდასა“ და „სერვერზე მუშაობს“-ს შორის არის ადგილი, სადაც მთელი ნაშუადღევი იკარგება, და ეს უფსკრული გაზომვადია.

ახალი zinnector

შექმენით საიტის, მოდულის ან ბლოკური თემის ჩონჩხი, რომელიც მყისიერად იტვირთება. არავითარი შემავსებელი ფაილი, არავითარი TODO — მოდული აქტიურდება და თემის არჩევა შესაძლებელია მისი შექმნისთანავე.

zinnector dev

ნამდვილი WordPress თქვენს კომპიუტერზე წამებში, საკუთარი მოდულებისა და თემების მხარდაჭერით, Docker-ისა და თქვენს PATH-ში PHP-ის გარეშე. აირჩიეთ ნებისმიერი PHP 5.2-დან 8.5-მდე დეველოპმენტისთვის.

zinnector-ის შემოწმება

წინასწარი შემოწმება. ადარებს თქვენ მიერ შექმნილს იმ სლოტს, რომელშიც განთავსებას აპირებთ, და აფიქსირებს ყველა შეუსაბამობას — და ყველა შემოწმებას, რომლის ჩატარებაც ვერ მოხერხდა — ვიდრე გაგზავნიდეთ.

zinnector push

ჩაატარეთ წინასწარი შემოწმება, გაგზავნეთ თქვენი ცვლილებები (commits), გაუშვით განთავსება და თვალი ადევნეთ მას დასრულებამდე. თუ ის ვერ შესრულდა, აწყობის ჟურნალი მხოლოდ ერთი ბრძანების დაშორებითაა.

zinnector ai

ჰკითხეთ ასისტენტს ტერმინალიდან, თქვენი პროექტისა და თქვენი საიტის კონტექსტად გამოყენებით. ის ეშვება პლატფორმაზე თქვენივე ანგარიშის ქვეშ, ამიტომ მოდელის არცერთი გასაღები არასდროს ინახება თქვენს მოწყობილობაზე.

შეამოწმეთ მუშაობა ორ წუთში, ანგარიში არ არის საჭირო

ექვსი ბრძანება, თანმიმდევრობით, და წარმატების შედეგი თითოეულ მათგანზე. აქ ყველაფერი თქვენს საკუთარ მოწყობილობაზე მუშაობს; API გასაღები საჭიროა მხოლოდ მაშინ, როდესაც ჰოსტინგის სლოტს მიაღწევთ.

  1. დააინსტალირეთ

    გაუშვით npm install -g zinnector Node 24-ზე ან უფრო ახალზე. თუ npm დაბეჭდავს EBADENGINE-ს, თქვენი Node 24-ზე ძველია — დააინსტალირეთ მიმდინარე LTS nodejs.org-დან და ხელახლა გაუშვით ინსტალაცია.

  2. ვერსიის შემოწმება

    zinnector --version ბეჭდავს ვერსიის ნომერს, როგორიცაა 0.1.2. 24-ზე ძველ Node-ზე ის ბეჭდავს შეტყობინებას, რომ საჭიროა Node 24 ან უფრო ახალი, და წყვეტს მუშაობას.

  3. წაიკითხეთ დახმარება

    zinnector --help ქვემოთ ჩამოთვლის თითოეულ ბრძანებას ერთსტრიქონიანი დანიშნულებით. თითოეული ბრძანება ასევე იღებს საკუთარ --help პარამეტრს.

  4. საიტის ჩონჩხის შექმნა

    zinnector new my-site ქმნის პროექტს, რომელიც მყისიერად იტვირთება — zinnector.json, wp-content ხის სტრუქტურა და README — და ბეჭდავს შემდეგ შესასრულებელ ბრძანებებს.

  5. გაშვება

    cd my-site, შემდეგ zinnector dev. პირველი გაშვებისას ერთხელ მოგეთხოვებათ WordPress-ის გაშვების გარემოს ჩამოტვირთვა (დაახლოებით 570 მბ, ინახება თავად CLI-ის ქეშში, არასოდეს თქვენს პროექტში). წარმატებული შედეგი ასე გამოიყურება: „running at http://127.0.0.1:9400“.

  6. გახსენით ბრაუზერში

    http://127.0.0.1:9400 არის ახალი WordPress საიტი; /wp-admin ხსნის მართვის პანელს უკვე შესული პროფილით. ჩააგდეთ პლაგინი wp-content/plugins საქაღალდეში და ის გამოჩნდება შემდეგი გადატვირთვისას.

  7. შემდეგ, ჰოსტინგის სლოტით

    zinnector login, zinnector link, zinnector check, zinnector push — წინასწარ შეამოწმეთ თქვენ მიერ შექმნილი სლოტთან მიმართებაში, შემდეგ განათავსეთ და უყურეთ მის დასრულებას.

წინასწარი შემოწმება, დეტალურად

თქვენ შექმენით PHP 8.3-ზე. სლოტზე გაშვებულია 8.1. არაფერი გატყობინებთ მანამ, სანამ საიტი არ გათეთრდება. ეს სწორედ ის პრობლემაა, რისთვისაც ეს ბრძანება არსებობს, და ეს არის ის, რაც ამ პლატფორმის მფლობელმა სახელწოდებით მოითხოვა. Zinnector® კითხულობს ორივე გარემოს და ათავსებს მათ გვერდიგვერდ — შემდეგ კი გაძლევთ საშუალებას მაინც განახორციელოთ განთავსება, რადგან შესაძლოა ამის მიზეზი გქონდეთ.

PHP, შეფასებული პატიოსნად

ძირითადი ვერსიის სხვაობა მონიშნულია როგორც მაღალი, რადგან ის საიმედოდ აფერხებს საიტის მუშაობას; მცირე სხვაობა უფრო დაბალი პრიორიტეტითაა მონიშნული. ყველაფრის კრიტიკულად შეფასება ხალხს მხოლოდ გაფრთხილების უგულებელყოფას ასწავლის.

დისკებისა და ფაილების რაოდენობა, ცალ-ცალკე

WordPress-ის ხე ათიათასობით პატარა ფაილისგან შედგება და საიტმა შესაძლოა ამოწუროს თავისი inode-ის ლიმიტი მაშინ, როცა დისკის ლიმიტზე ბევრად დაბალ ნიშნულზეა. ორივე მოწმდება იმის მიხედვით, რაც რეალურად დარჩა სლოტზე, და არა გეგმის მიხედვით.

„შემოწმება ვერ მოხერხდა“ თავისთავად პასუხია

შემოწმება, რომელიც ვერ ხედავს თავის ობიექტს, იტყობინება შეუმომწმებლად და არასდროს წარმატებით გავლილად. სუფთა გაშვება მიუთითებს, რამდენი რამის გადამოწმება ვერ შეძლო, რადგან ცრუ მწვანე სიგნალს არავინ ამოწმებს ორჯერ.

აფრთხილებს, არასდროს ბლოკავს

თითოეული მიგნება შეიძლება შეიცვალოს --force-ით და შეჯამებაც ამას აღნიშნავს. CI-ში ამის ნაცვლად გამოსვლის კოდი წარმოადგენს ბარიერს, ასე რომ მილსადენი შეიძლება იყოს მკაცრი, სანამ ადამიანი ინარჩუნებს კონტროლს.

ორი ლოკალური გაშვების გარემო, ორივე რეალური

WordPress Playground არის ნაგულისხმევი: WebAssembly-ში დაკომპილირებული PHP, რომელიც მუშაობს Node-ის შიგნით, ასე რომ ლეპტოპი, რომელზეც მხოლოდ Node არის დაინსტალირებული, არაფრიდან გადადის მომუშავე WordPress-ზე დაახლოებით იმ დროში, რაც ამ წინადადების წაკითხვას სჭირდება.

როდესაც გჭირდებათ მშობლიური PHP — გაფართოება, როგორიცაა imagick, ნამდვილი MySQL — გადაეცით --runtime docker და მის ნაცვლად მიიღეთ php-fpm და MariaDB კონტეინერები. ორივე ერთსა და იმავე ფაილებს ემსახურება ერთი და იმავე პროექტიდან, ამიტომ მათ შორის გადართვა ცვლის ძრავას და სხვა არაფერს.

ყველაფერი სხვა, რასაც უკვე აკეთებთ პანელში

Zinnector® აგებულია იმავე საჯარო API-ზე, რაზეც სამართავი პანელი, ამიტომ ყველაფერი, რისი გაკეთებაც პანელს შეუძლია, მასაც შეუძლია — და თითოეული ბრძანება არის დოკუმენტირებული ოპერაცია OpenAPI-ის სპეციფიკაციაში და არა პირადი ბოლო წერტილი.

საიტები და განთავსებები

ჩამოთვალეთ საიტები, წაიკითხეთ ყველაფერი, რაც პლატფორმამ იცის რომელიმე მათგანის შესახებ, ხელახლა განათავსეთ და წაიკითხეთ განთავსების ისტორია და აგების ჟურნალები.

დომენები, DNS და ფოსტა

ჩამოთვალეთ დომენები, წაიკითხეთ და შეცვალეთ DNS ჩანაწერები ჩანაწერის ჩაწერამდე ჩვენებით, და წაიკითხეთ თქვენი საფოსტო სერვისები.

PHP, კვოტა, მონაცემთა ბაზა და ჟურნალები

შეცვალეთ PHP-ის ვერსიები, შეამოწმეთ დისკისა და inode-ების მოხმარება თქვენი ტარიფით გათვალისწინებულ ლიმიტებთან მიმართებით, მიიღეთ ერთჯერადი ბმულები phpMyAdmin-ში შესასვლელად და თვალი ადევნეთ წვდომისა და შეცდომების ჟურნალებს რეალურ დროში.

WP-CLI და მასობრივი ოპერაციები

გაუშვით საიტზე ნებადართული WP-CLI ბრძანებები და გაასუფთავეთ ქეში ან დაიწყეთ მავნე პროგრამების სკანირება მთელ არჩევანზე ერთი გამოძახებით, თითოეული საიტისთვის ცალ-ცალკე გამოძახების ნაცვლად.

თითოეული ბრძანება, ზუსტად ისე, როგორც ამას --help ჩამოთვლის

სრული სია, თითო ხაზზე თითო. სრული ცნობარი — თითოეული ალამი, შესრულებადი მაგალითი და რას ბეჭდავს თითოეული ბრძანება — გენერირდება უშუალოდ CLI-დან და განთავსებულია დეველოპერის დოკუმენტაციასა და ცოდნის ბაზაში, ასე რომ იგი ვერ ასცდება თქვენ მიერ დაინსტალირებულ ხელსაწყოს.

ახალი zinnector

შექმენით WordPress პროექტის ჩონჩხი, რომლის გაშვებაც დაუყოვნებლივ შეგიძლიათ.

zinnector dev

გაუშვით ეს პროექტი ლოკალურად — Docker არ არის საჭირო.

zinnector-ის შესვლა

შედით Zinn Digital® API გასაღებით.

სისტემიდან გასვლა

შენახული API გასაღების დავიწყება.

zinnector whoami

აჩვენეთ, თუ ვისი სახელით არის ავთენტიფიცირებული ეს CLI.

zinnector საიტები

ჩამოთვალეთ საიტები, რომელთა ნახვაც ამ გასაღებს შეუძლია.

zinnector-ის სტატუსი

ყველაფერი, რაც პლატფორმამ იცის ერთი საიტის შესახებ.

zinnector გაზიარება

მიეცით ერთ პირს წვდომა ერთ საიტზე — დეველოპერს, დიზაინერს, კლიენტს — როლითა და მიზეზით.

zinnector-ის თანამშრომლები

იხილეთ, ვის მიეცა წვდომა საიტზე, რა როლი აქვს მას და მიიღო თუ არა უკვე მოწვევა.

zinnector-ის გაზიარების გაუქმება

გაუუქმეთ პირს წვდომა, ელფოსტის ან მინიჭების ID-ის მეშვეობით.

zinnector-ის მოწვევები

მოწვევები, რომლებიც გელოდებათ, და მიიღეთ ერთი.

zinnector-ის ბმული

მიმართეთ ეს პროექტი ჰოსტინგის სლოტზე (და დააკავშირეთ მისი საცავი).

zinnector pull

ჩამოტვირთეთ ჰოსტინგზე განთავსებული საიტის ფაილები ამ პროექტში ლოკალური დეველოპმენტისთვის და ხელახლა გაუშვით ხელახალი სინქრონიზაციისთვის. ირჩევს სწრაფ გზას, როდესაც საიტი სინქრონიზდება საკუთარ რეპოზიტორიასთან, წინააღმდეგ შემთხვევაში მუშაობს უახლესი სარეზერვო ასლიდან.

zinnector-ის სინქრონიზაცია

ორმხრივი სინქრონიზაცია ჰოსტინგზე განთავსებული საიტის რეალურ ფაილებსა და მის რეპოზიტორიას შორის: იხილეთ სტატუსი, ჩართეთ, დააფიქსირეთ (commit) საიტის ცვლილებები ან აირჩიეთ, რომელ მხარეს მიენიჭოს უპირატესობა.

ზინექტორი mcp

ხიდი Zinn Digital® MCP სერვერთან Claude Desktop-ისთვის და სხვა AI კლიენტებისთვის, რომლებიც მხოლოდ ლოკალურ სერვერებს უშვებენ.

zinnector-ის კლონირება

შექმენით ლოკალური პროექტი ჰოსტინგზე განთავსებული საიტიდან ერთ ნაბიჯში: დააკლონირეთ მისი საცავი ან ჩამოტვირთეთ მისი ფაილები, ჩაწერეთ პროექტის ფაილი და მოემზადეთ zinnector dev-ის გასაშვებად.

zinnector-ის შემოწმება

შეადარეთ ეს პროექტი იმ სლოტს, რომელშიც აპირებთ განთავსებას.

zinnector push

ჩაატარეთ წინასწარი შემოწმება, გაგზავნეთ თქვენი ცვლილებები და განათავსეთ.

zinnector-ის განთავსება

ხელახლა განათავსეთ ის, რაც პლატფორმას უკვე აქვს, გაგზავნის გარეშე.

zinnector აყენებს

საიტის განთავსების ისტორია.

zinnector php

საიტის PHP ვერსიის ჩვენება ან შეცვლა.

zinnector quota

დისკის, ფაილებისა და მონაცემთა ბაზის გამოყენება გეგმით გათვალისწინებულ ლიმიტთან მიმართებაში.

zinnector db

მონაცემთა ბაზის ზომა და ერთჯერადი ბმულები phpMyAdmin-სა და ფაილების მენეჯერში შესასვლელად.

zinnector-ის ლოგები

თვალი ადევნეთ საიტის წვდომისა და შეცდომების ჟურნალებს რეალურ დროში.

zinnector wp

გაუშვით დაშვებული WP-CLI ბრძანება საიტზე.

zinnector-ის სარეზერვო ასლი

საიტის სარეზერვო ასლების ჩამოთვლა და შექმნა. ქვებრძანებები: list, now.

zinnector დომენები

ჩამოთვალეთ დომენები, რომელთა ნახვაც ამ გასაღებს შეუძლია.

zinnector dns

წაიკითხეთ და შეცვალეთ DNS ჩანაწერები. ქვებრძანებები: list, add, rm.

zinnector მეილი

საფოსტო სერვისების ჩამოთვლა.

zinnector მასობრივი

შეასრულეთ ერთი ოპერაცია რამდენიმე საიტზე (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

ჰკითხეთ Zinn Digital®-ის ასისტენტს, ამ პროექტის კონტექსტად გამოყენებით.

კითხვები

მჭირდება თუ არა Zinn Digital®-ის მომხმარებელი ვიყო მის გამოსაყენებლად?

არა. `zinnector new`-ს და `zinnector dev`-ს ანგარიში საერთოდ არ სჭირდება — შექმენით მოდულის, თემის ან მთელი საიტის სტრუქტურა და გაუშვით იგი ლოკალურად, უფასოდ, სამუდამოდ. API გასაღები საჭიროა მხოლოდ იმ ბრძანებებისთვის, რომლებიც უკავშირდება თქვენს ჰოსტინგს.

ესაჭიროება Docker?

არა ნაგულისხმევი გაშვების გარემოსთვის (runtime). WordPress Playground ახდენს PHP-ის კომპილაციას WebAssembly-ში და ეშვება Node-ის შიგნით, ასე რომ `zinnector dev` წამებში უშვებს ნამდვილ WordPress-ს სხვა რაიმეს დაყენების გარეშე. თუ გჭირდებათ ნატიური PHP — ისეთი გაფართოების შესამოწმებლად, როგორიცაა imagick ან ionCube — `--runtime docker` სამაგიეროდ გაწვდით php-fpm და MariaDB კონტეინერებს. ორივე მხარდაჭერილია; არცერთი არ წარმოადგენს სარეზერვო ვარიანტს.

რას ადარებს სინამდვილეში წინასწარი შემოწმება?

თქვენი ლოკალური PHP ვერსია სლოტის ვერსიასთან შედარებით, შეუძლია თუ არა სლოტს საერთოდ გადაერთოს იმ ვერსიაზე, რომელზეც ააგეთ, ამოიწურა თუ არა სლოტის PHP-ის მომსახურების ვადა და რეალურად გამოიყენა თუ არა იგი მანქანამ, თქვენი პროექტის ზომა და ფაილების რაოდენობა დისკისა და inode-ის დარჩენილ რესურსთან შედარებით, WordPress ვერსიები თითოეულ მხარეს, დაასრულა თუ არა სლოტმა მომზადება და დაკავშირებულია თუ არა git საცავი განსათავსებლად. ყველაფერი, რისი შემოწმებაც ვერ მოხერხდა, წარმატებულად ჩათვლის ნაცვლად აღირიცხება, როგორც შეუმომწმებელი.

შეუძლია მას ჩემი დეპლოის შეჩერება?

არა, და ეს გამიზნულია. წინასწარი შემოწმება გაფრთხილებთ და საშუალებას გაძლევთ გააგრძელოთ — `--force` ახორციელებს განთავსებას ნებისმიერი აღმოჩენის მიუხედავად. თქვენ იცით საკუთარი საიტის შესახებ ისეთი რამ, რაც შემმოწმებელმა არ იცის, ხოლო ინსტრუმენტს, რომელიც უარს ამბობს განთავსებაზე, ადამიანები აინსტალირებენ.

უსაფრთხოა თუ არა ჩემი API გასაღები?

გასაღები არასდროს იკითხება ბრძანების სტრიქონიდან — მხოლოდ მოთხოვნიდან ან გადამისამართებული stdin-იდან — შესაბამისად, იგი ვერ მოხვდება თქვენი გარსის ისტორიაში ან პროცესების ჩამონათვალში. იგი ინახება თქვენს პირად კონფიგურაციის დირექტორიაში ფაილის რეჟიმით 600, ხოლო Zinnector® ხელახლა ადასტურებს ამ ნებართვებს ყოველი ჩაწერისას.

შეიძლება მისი გამოყენება CI-ში?

დიახ. დააყენეთ `ZINNECTOR_TOKEN` და თითოეული ბრძანება მიიღებს `--json`-ს. ადამიანისთვის წასაკითხი გამომავალი ინფორმაცია იგზავნება stderr-ში, ხოლო მონაცემები stdout-ში, ასე რომ მილები (pipes) სუფთა რჩება. `zinnector check` სრულდება არანულოვანი კოდით, როდესაც რამეს აღმოაჩენს, ამიტომ ის მუშაობს როგორც კონვეიერის კარიბჭე (pipeline gate), ხოლო `--strict` ასევე განიცდის წარუმატებლობას, როდესაც შედარება ვერ მოხერხდა.

დააინსტალირეთ ის და გაუშვით საიტი შემდეგ წუთში

გაუშვით npm install -g zinnector, ან გამოსცადეთ ერთხელ npx zinnector new my-site-ის მეშვეობით. უფასო, MIT ლიცენზიით და აგებული საჯარო API-ზე. შექმენით პროექტის საწყისი სტრუქტურა, გაუშვით ლოკალურად Docker-ის გარეშე და შეამოწმეთ განთავსებამდე.

დოკუმენტაციის წაკითხვა