ახალი zinnector
შექმენით საიტის, მოდულის ან ბლოკური თემის ჩონჩხი, რომელიც მყისიერად იტვირთება. არავითარი შემავსებელი ფაილი, არავითარი TODO — მოდული აქტიურდება და თემის არჩევა შესაძლებელია მისი შექმნისთანავე.
Zinnector®
Zinnector® აგებს WordPress-ს ლოკალურად ისე, რომ არაფერია დაინსტალირებული გარდა Node-ისა — არავითარი Docker, არავითარი MAMP — შემდეგ კი ამოწმებს თქვენ მიერ აგებულს იმ ჰოსტინგის სლოტთან მიმართებით, სადაც აპირებთ განთავსებას, და გეუბნებათ, რა არ დაემთხვევა, სანამ push-ს გააკეთებთ. დააინსტალირეთ ის ბრძანებით npm install -g zinnector. ის უფასოა, ლიცენზირებულია MIT-ით და აგებულია იმავე საჯარო API-ზე, როგორც ყველაფერი დანარჩენი აქ.
ჰოსტინგის CLI-ების უმეტესობა იწყება განთავსებისას. Zinnector® იწყება მანამდე — ის თქვენთან ერთად აშენებს საიტს და შემდეგ ამოწმებს თქვენს ნამუშევარს იმ მანქანასთან მიმართებით, რომელზეც მის გაგზავნას აპირებთ. უფსკრული „ჩემს ლეპტოპზე მუშაობდასა“ და „სერვერზე მუშაობს“-ს შორის არის ადგილი, სადაც მთელი ნაშუადღევი იკარგება, და ეს უფსკრული გაზომვადია.
შექმენით საიტის, მოდულის ან ბლოკური თემის ჩონჩხი, რომელიც მყისიერად იტვირთება. არავითარი შემავსებელი ფაილი, არავითარი TODO — მოდული აქტიურდება და თემის არჩევა შესაძლებელია მისი შექმნისთანავე.
ნამდვილი WordPress თქვენს კომპიუტერზე წამებში, საკუთარი მოდულებისა და თემების მხარდაჭერით, Docker-ისა და თქვენს PATH-ში PHP-ის გარეშე. აირჩიეთ ნებისმიერი PHP 5.2-დან 8.5-მდე დეველოპმენტისთვის.
წინასწარი შემოწმება. ადარებს თქვენ მიერ შექმნილს იმ სლოტს, რომელშიც განთავსებას აპირებთ, და აფიქსირებს ყველა შეუსაბამობას — და ყველა შემოწმებას, რომლის ჩატარებაც ვერ მოხერხდა — ვიდრე გაგზავნიდეთ.
ჩაატარეთ წინასწარი შემოწმება, გაგზავნეთ თქვენი ცვლილებები (commits), გაუშვით განთავსება და თვალი ადევნეთ მას დასრულებამდე. თუ ის ვერ შესრულდა, აწყობის ჟურნალი მხოლოდ ერთი ბრძანების დაშორებითაა.
ჰკითხეთ ასისტენტს ტერმინალიდან, თქვენი პროექტისა და თქვენი საიტის კონტექსტად გამოყენებით. ის ეშვება პლატფორმაზე თქვენივე ანგარიშის ქვეშ, ამიტომ მოდელის არცერთი გასაღები არასდროს ინახება თქვენს მოწყობილობაზე.
ექვსი ბრძანება, თანმიმდევრობით, და წარმატების შედეგი თითოეულ მათგანზე. აქ ყველაფერი თქვენს საკუთარ მოწყობილობაზე მუშაობს; API გასაღები საჭიროა მხოლოდ მაშინ, როდესაც ჰოსტინგის სლოტს მიაღწევთ.
გაუშვით npm install -g zinnector Node 24-ზე ან უფრო ახალზე. თუ npm დაბეჭდავს EBADENGINE-ს, თქვენი Node 24-ზე ძველია — დააინსტალირეთ მიმდინარე LTS nodejs.org-დან და ხელახლა გაუშვით ინსტალაცია.
zinnector --version ბეჭდავს ვერსიის ნომერს, როგორიცაა 0.1.2. 24-ზე ძველ Node-ზე ის ბეჭდავს შეტყობინებას, რომ საჭიროა Node 24 ან უფრო ახალი, და წყვეტს მუშაობას.
zinnector --help ქვემოთ ჩამოთვლის თითოეულ ბრძანებას ერთსტრიქონიანი დანიშნულებით. თითოეული ბრძანება ასევე იღებს საკუთარ --help პარამეტრს.
zinnector new my-site ქმნის პროექტს, რომელიც მყისიერად იტვირთება — zinnector.json, wp-content ხის სტრუქტურა და README — და ბეჭდავს შემდეგ შესასრულებელ ბრძანებებს.
cd my-site, შემდეგ zinnector dev. პირველი გაშვებისას ერთხელ მოგეთხოვებათ WordPress-ის გაშვების გარემოს ჩამოტვირთვა (დაახლოებით 570 მბ, ინახება თავად CLI-ის ქეშში, არასოდეს თქვენს პროექტში). წარმატებული შედეგი ასე გამოიყურება: „running at http://127.0.0.1:9400“.
http://127.0.0.1:9400 არის ახალი WordPress საიტი; /wp-admin ხსნის მართვის პანელს უკვე შესული პროფილით. ჩააგდეთ პლაგინი wp-content/plugins საქაღალდეში და ის გამოჩნდება შემდეგი გადატვირთვისას.
zinnector login, zinnector link, zinnector check, zinnector push — წინასწარ შეამოწმეთ თქვენ მიერ შექმნილი სლოტთან მიმართებაში, შემდეგ განათავსეთ და უყურეთ მის დასრულებას.
თქვენ შექმენით PHP 8.3-ზე. სლოტზე გაშვებულია 8.1. არაფერი გატყობინებთ მანამ, სანამ საიტი არ გათეთრდება. ეს სწორედ ის პრობლემაა, რისთვისაც ეს ბრძანება არსებობს, და ეს არის ის, რაც ამ პლატფორმის მფლობელმა სახელწოდებით მოითხოვა. Zinnector® კითხულობს ორივე გარემოს და ათავსებს მათ გვერდიგვერდ — შემდეგ კი გაძლევთ საშუალებას მაინც განახორციელოთ განთავსება, რადგან შესაძლოა ამის მიზეზი გქონდეთ.
ძირითადი ვერსიის სხვაობა მონიშნულია როგორც მაღალი, რადგან ის საიმედოდ აფერხებს საიტის მუშაობას; მცირე სხვაობა უფრო დაბალი პრიორიტეტითაა მონიშნული. ყველაფრის კრიტიკულად შეფასება ხალხს მხოლოდ გაფრთხილების უგულებელყოფას ასწავლის.
WordPress-ის ხე ათიათასობით პატარა ფაილისგან შედგება და საიტმა შესაძლოა ამოწუროს თავისი inode-ის ლიმიტი მაშინ, როცა დისკის ლიმიტზე ბევრად დაბალ ნიშნულზეა. ორივე მოწმდება იმის მიხედვით, რაც რეალურად დარჩა სლოტზე, და არა გეგმის მიხედვით.
შემოწმება, რომელიც ვერ ხედავს თავის ობიექტს, იტყობინება შეუმომწმებლად და არასდროს წარმატებით გავლილად. სუფთა გაშვება მიუთითებს, რამდენი რამის გადამოწმება ვერ შეძლო, რადგან ცრუ მწვანე სიგნალს არავინ ამოწმებს ორჯერ.
თითოეული მიგნება შეიძლება შეიცვალოს --force-ით და შეჯამებაც ამას აღნიშნავს. CI-ში ამის ნაცვლად გამოსვლის კოდი წარმოადგენს ბარიერს, ასე რომ მილსადენი შეიძლება იყოს მკაცრი, სანამ ადამიანი ინარჩუნებს კონტროლს.
WordPress Playground არის ნაგულისხმევი: WebAssembly-ში დაკომპილირებული PHP, რომელიც მუშაობს Node-ის შიგნით, ასე რომ ლეპტოპი, რომელზეც მხოლოდ Node არის დაინსტალირებული, არაფრიდან გადადის მომუშავე WordPress-ზე დაახლოებით იმ დროში, რაც ამ წინადადების წაკითხვას სჭირდება.
როდესაც გჭირდებათ მშობლიური PHP — გაფართოება, როგორიცაა imagick, ნამდვილი MySQL — გადაეცით --runtime docker და მის ნაცვლად მიიღეთ php-fpm და MariaDB კონტეინერები. ორივე ერთსა და იმავე ფაილებს ემსახურება ერთი და იმავე პროექტიდან, ამიტომ მათ შორის გადართვა ცვლის ძრავას და სხვა არაფერს.
Zinnector® აგებულია იმავე საჯარო API-ზე, რაზეც სამართავი პანელი, ამიტომ ყველაფერი, რისი გაკეთებაც პანელს შეუძლია, მასაც შეუძლია — და თითოეული ბრძანება არის დოკუმენტირებული ოპერაცია OpenAPI-ის სპეციფიკაციაში და არა პირადი ბოლო წერტილი.
ჩამოთვალეთ საიტები, წაიკითხეთ ყველაფერი, რაც პლატფორმამ იცის რომელიმე მათგანის შესახებ, ხელახლა განათავსეთ და წაიკითხეთ განთავსების ისტორია და აგების ჟურნალები.
ჩამოთვალეთ დომენები, წაიკითხეთ და შეცვალეთ DNS ჩანაწერები ჩანაწერის ჩაწერამდე ჩვენებით, და წაიკითხეთ თქვენი საფოსტო სერვისები.
შეცვალეთ PHP-ის ვერსიები, შეამოწმეთ დისკისა და inode-ების მოხმარება თქვენი ტარიფით გათვალისწინებულ ლიმიტებთან მიმართებით, მიიღეთ ერთჯერადი ბმულები phpMyAdmin-ში შესასვლელად და თვალი ადევნეთ წვდომისა და შეცდომების ჟურნალებს რეალურ დროში.
გაუშვით საიტზე ნებადართული WP-CLI ბრძანებები და გაასუფთავეთ ქეში ან დაიწყეთ მავნე პროგრამების სკანირება მთელ არჩევანზე ერთი გამოძახებით, თითოეული საიტისთვის ცალ-ცალკე გამოძახების ნაცვლად.
სრული სია, თითო ხაზზე თითო. სრული ცნობარი — თითოეული ალამი, შესრულებადი მაგალითი და რას ბეჭდავს თითოეული ბრძანება — გენერირდება უშუალოდ CLI-დან და განთავსებულია დეველოპერის დოკუმენტაციასა და ცოდნის ბაზაში, ასე რომ იგი ვერ ასცდება თქვენ მიერ დაინსტალირებულ ხელსაწყოს.
შექმენით WordPress პროექტის ჩონჩხი, რომლის გაშვებაც დაუყოვნებლივ შეგიძლიათ.
გაუშვით ეს პროექტი ლოკალურად — Docker არ არის საჭირო.
შედით Zinn Digital® API გასაღებით.
შენახული API გასაღების დავიწყება.
აჩვენეთ, თუ ვისი სახელით არის ავთენტიფიცირებული ეს CLI.
ჩამოთვალეთ საიტები, რომელთა ნახვაც ამ გასაღებს შეუძლია.
ყველაფერი, რაც პლატფორმამ იცის ერთი საიტის შესახებ.
მიეცით ერთ პირს წვდომა ერთ საიტზე — დეველოპერს, დიზაინერს, კლიენტს — როლითა და მიზეზით.
იხილეთ, ვის მიეცა წვდომა საიტზე, რა როლი აქვს მას და მიიღო თუ არა უკვე მოწვევა.
გაუუქმეთ პირს წვდომა, ელფოსტის ან მინიჭების ID-ის მეშვეობით.
მოწვევები, რომლებიც გელოდებათ, და მიიღეთ ერთი.
მიმართეთ ეს პროექტი ჰოსტინგის სლოტზე (და დააკავშირეთ მისი საცავი).
ჩამოტვირთეთ ჰოსტინგზე განთავსებული საიტის ფაილები ამ პროექტში ლოკალური დეველოპმენტისთვის და ხელახლა გაუშვით ხელახალი სინქრონიზაციისთვის. ირჩევს სწრაფ გზას, როდესაც საიტი სინქრონიზდება საკუთარ რეპოზიტორიასთან, წინააღმდეგ შემთხვევაში მუშაობს უახლესი სარეზერვო ასლიდან.
ორმხრივი სინქრონიზაცია ჰოსტინგზე განთავსებული საიტის რეალურ ფაილებსა და მის რეპოზიტორიას შორის: იხილეთ სტატუსი, ჩართეთ, დააფიქსირეთ (commit) საიტის ცვლილებები ან აირჩიეთ, რომელ მხარეს მიენიჭოს უპირატესობა.
ხიდი Zinn Digital® MCP სერვერთან Claude Desktop-ისთვის და სხვა AI კლიენტებისთვის, რომლებიც მხოლოდ ლოკალურ სერვერებს უშვებენ.
შექმენით ლოკალური პროექტი ჰოსტინგზე განთავსებული საიტიდან ერთ ნაბიჯში: დააკლონირეთ მისი საცავი ან ჩამოტვირთეთ მისი ფაილები, ჩაწერეთ პროექტის ფაილი და მოემზადეთ zinnector dev-ის გასაშვებად.
შეადარეთ ეს პროექტი იმ სლოტს, რომელშიც აპირებთ განთავსებას.
ჩაატარეთ წინასწარი შემოწმება, გაგზავნეთ თქვენი ცვლილებები და განათავსეთ.
ხელახლა განათავსეთ ის, რაც პლატფორმას უკვე აქვს, გაგზავნის გარეშე.
საიტის განთავსების ისტორია.
საიტის PHP ვერსიის ჩვენება ან შეცვლა.
დისკის, ფაილებისა და მონაცემთა ბაზის გამოყენება გეგმით გათვალისწინებულ ლიმიტთან მიმართებაში.
მონაცემთა ბაზის ზომა და ერთჯერადი ბმულები phpMyAdmin-სა და ფაილების მენეჯერში შესასვლელად.
თვალი ადევნეთ საიტის წვდომისა და შეცდომების ჟურნალებს რეალურ დროში.
გაუშვით დაშვებული WP-CLI ბრძანება საიტზე.
საიტის სარეზერვო ასლების ჩამოთვლა და შექმნა. ქვებრძანებები: list, now.
ჩამოთვალეთ დომენები, რომელთა ნახვაც ამ გასაღებს შეუძლია.
წაიკითხეთ და შეცვალეთ DNS ჩანაწერები. ქვებრძანებები: list, add, rm.
საფოსტო სერვისების ჩამოთვლა.
შეასრულეთ ერთი ოპერაცია რამდენიმე საიტზე (cache_purge, malware_scan, sitemap, block_ip).
ჰკითხეთ Zinn Digital®-ის ასისტენტს, ამ პროექტის კონტექსტად გამოყენებით.
არა. `zinnector new`-ს და `zinnector dev`-ს ანგარიში საერთოდ არ სჭირდება — შექმენით მოდულის, თემის ან მთელი საიტის სტრუქტურა და გაუშვით იგი ლოკალურად, უფასოდ, სამუდამოდ. API გასაღები საჭიროა მხოლოდ იმ ბრძანებებისთვის, რომლებიც უკავშირდება თქვენს ჰოსტინგს.
არა ნაგულისხმევი გაშვების გარემოსთვის (runtime). WordPress Playground ახდენს PHP-ის კომპილაციას WebAssembly-ში და ეშვება Node-ის შიგნით, ასე რომ `zinnector dev` წამებში უშვებს ნამდვილ WordPress-ს სხვა რაიმეს დაყენების გარეშე. თუ გჭირდებათ ნატიური PHP — ისეთი გაფართოების შესამოწმებლად, როგორიცაა imagick ან ionCube — `--runtime docker` სამაგიეროდ გაწვდით php-fpm და MariaDB კონტეინერებს. ორივე მხარდაჭერილია; არცერთი არ წარმოადგენს სარეზერვო ვარიანტს.
თქვენი ლოკალური PHP ვერსია სლოტის ვერსიასთან შედარებით, შეუძლია თუ არა სლოტს საერთოდ გადაერთოს იმ ვერსიაზე, რომელზეც ააგეთ, ამოიწურა თუ არა სლოტის PHP-ის მომსახურების ვადა და რეალურად გამოიყენა თუ არა იგი მანქანამ, თქვენი პროექტის ზომა და ფაილების რაოდენობა დისკისა და inode-ის დარჩენილ რესურსთან შედარებით, WordPress ვერსიები თითოეულ მხარეს, დაასრულა თუ არა სლოტმა მომზადება და დაკავშირებულია თუ არა git საცავი განსათავსებლად. ყველაფერი, რისი შემოწმებაც ვერ მოხერხდა, წარმატებულად ჩათვლის ნაცვლად აღირიცხება, როგორც შეუმომწმებელი.
არა, და ეს გამიზნულია. წინასწარი შემოწმება გაფრთხილებთ და საშუალებას გაძლევთ გააგრძელოთ — `--force` ახორციელებს განთავსებას ნებისმიერი აღმოჩენის მიუხედავად. თქვენ იცით საკუთარი საიტის შესახებ ისეთი რამ, რაც შემმოწმებელმა არ იცის, ხოლო ინსტრუმენტს, რომელიც უარს ამბობს განთავსებაზე, ადამიანები აინსტალირებენ.
გასაღები არასდროს იკითხება ბრძანების სტრიქონიდან — მხოლოდ მოთხოვნიდან ან გადამისამართებული stdin-იდან — შესაბამისად, იგი ვერ მოხვდება თქვენი გარსის ისტორიაში ან პროცესების ჩამონათვალში. იგი ინახება თქვენს პირად კონფიგურაციის დირექტორიაში ფაილის რეჟიმით 600, ხოლო Zinnector® ხელახლა ადასტურებს ამ ნებართვებს ყოველი ჩაწერისას.
დიახ. დააყენეთ `ZINNECTOR_TOKEN` და თითოეული ბრძანება მიიღებს `--json`-ს. ადამიანისთვის წასაკითხი გამომავალი ინფორმაცია იგზავნება stderr-ში, ხოლო მონაცემები stdout-ში, ასე რომ მილები (pipes) სუფთა რჩება. `zinnector check` სრულდება არანულოვანი კოდით, როდესაც რამეს აღმოაჩენს, ამიტომ ის მუშაობს როგორც კონვეიერის კარიბჭე (pipeline gate), ხოლო `--strict` ასევე განიცდის წარუმატებლობას, როდესაც შედარება ვერ მოხერხდა.
გაუშვით npm install -g zinnector, ან გამოსცადეთ ერთხელ npx zinnector new my-site-ის მეშვეობით. უფასო, MIT ლიცენზიით და აგებული საჯარო API-ზე. შექმენით პროექტის საწყისი სტრუქტურა, გაუშვით ლოკალურად Docker-ის გარეშე და შეამოწმეთ განთავსებამდე.
დოკუმენტაციის წაკითხვა