Бастапқы кодты басқару

Өзіңіз пайдаланып жүрген репозиторийден орналастырыңыз — орналастыруға болатын тоғыз орын

Жұмыс істейтін GitHub немесе GitLab аккаунтыңызды байланыстырыңыз және тікелей тармақтан мына қызметтерге орналастырыңыз: Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps немесе AWS Amplify — не болмаса репозиторий мен сайт файлдары екі бағытта да синхрондалып тұратын өзіміздің басқарылатын хостингімізге орналастырыңыз. Әрбір байланыс өзіне қажетті құқықтарды көрсетеді, сақталмас бұрын провайдердің API-і арқылы тексеріледі және Vault жүйесінде сақталады. Сондай-ақ GitHub немесе GitLab арқылы кіре аласыз.

Репозиторийден тікелей сайтқа конвейер арқылы жылжитын коммит.
  • GitHub + GitLabӨзіңізде бар тіркелгіні байланыстырыңыз
  • Тоғыз тағайындау орнысегіз шеткі хост, сонымен қатар біздің жеке тобымыз
  • Екі жақты синхрондауәрбір сайт, әрбір жол
  • Vault ішінде сақталғаненгізу кезінде тексерілді, ешқашан журналда емес
  • Токен сақталмас бұрын тексерілдіауқымы шамадан тыс токен ешқашан қабылданбайды
  • Өрістету үшін push жіберуқолтаңбасы тексерілген және міндетті емес
  • Сіздің бұтағыңыз, сіздің жинағыңызкаталогты жариялаңыз немесе өзіңіздің CI-ді іске қосыңыз
  • Дұрыс ажыратубіз дәл өзіміз жасаған hook-ты жоямыз

Бір рет қосылып, немен келісіп жатқаныңызды көріңіз

Қосылым — бұл сіз басқа біреуге беретін тіркелгі дерегі. Біздің шешіміміз оны жасамас бұрын оған не қажет екенін хабарлайды, сақтамас бұрын оның жұмыс істейтінін дәлелдейді және оны кез келген жағынан қайтарып алуға болады.

Алдын ала көрсетілген артықшылықтар

Токенді жасамас бұрын, біз оның не істей алуы керек екенін және неліктен екенін айтамыз. Сұрау оңайырақ болғандықтан ғана ауқымды қамту берілмейді, және жұмысқа қажет болғаннан артық нәрсені қалағанымыз кейін анықталмайды.

Сенімге сүйеніп қабылданбаған, провайдер арқылы тексерілген

Токеніңізді сақтамас бұрын, біз провайдердің жеке API-ін осы токен арқылы шақырамыз. Қате, мерзімі өткен немесе дұрыс емес ауқымы бар токен қабылданып, жарамды күйде көрсетіліп және бірінші нақты орналастыру кезінде істен шығудың орнына, тікелей нысанда қабылданбайды.

Vault ішінде сақталады және басқа еш жерде жоқ

Біздің кодта емес, орта файлында емес, журналда емес және пәрмен жолында да емес. Оны қолданатын жұмыс жүктемесі арқылы, дәл пайдаланылған сәтте шешіледі.

Әр сайт үшін таңдалған бірнеше есептік жазба

Жеке есептік жазба мен ұйымның немесе екі ұйымның есептік жазбаларын байланыстырыңыз. Әрбір сайт қайсысынан өрістету керектігін таңдайды, сондықтан клиенттің репозиторийі мен сіздің репозиторийіңіз ешқашан бірдей тіркелгі деректерін ортақ пайдаланбайды.

Репозиторий орналаса алатын тоғыз орын

Сегіз басқарылатын шеткі хост және біздің жеке паркіміз. Тағайындалған орын қосылымның емес, сайттың қасиеті болып табылады, сондықтан бір репозиторий бір тармақты Pages хостына жариялай алады, ал басқа сайт біздің жабдықта жұмыс істей алады.

Cloudflare Pages

Шектеусіз өткізу қабілеті, коммерциялық мақсатта пайдалануға рұқсат етілген және әдетте DNS аймағыңызды ұстайтын сол провайдерде өңделетін apex домендері. Осы себептерге байланысты біз бірінші кезекте осыған жүгінеміз.

Cloudflare Pages хостингі →

GitHub Pages

Код бар репозиторийден тікелей жариялаңыз. Footprint-Free жолында белгіленген, себебі ортақ github.io инфрақұрылымының өзі із болып табылады.

GitHub Pages хостингі →

GitLab Pages, Netlify, Vercel және қалғандары

GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps және AWS Amplify — бірдей байланыс пен бірдей орналастыру тарихы арқылы сайтты бағыттауға болатын тағайындалған орындар.

Статикалық сайт хостингі →

Өзіміздің басқарылатын хостингіміз

Құрастырылған жиынтық емес, толық қолданба — WordPress, PHP, Node. Бұл екі жақты синхрондауды алатын тағайындалған орын, сондықтан жүйедегі және тармақтағы файлдар үйлесімді болып қалады.

Басқарылатын хостинг →

Басқа біреудің шеткі желісіндегі сайттар

Біздің меншігімізде емес хостқа жарияланған сайт бәрібір лимитті жұмсайды және сіз басқаратын басқа элементтермен қатар орналастыруларымен, жұмыс істеу уақытымен және SEO деректерімен басқару тақтаңызда көрінуін жалғастырады.

Сыртқы сайттар квоталары →

Немесе оны осында өңдеңіз

Браузердегі редактор екі жақты синхрондау кері жіберетін файлдармен жұмыс істейді, сондықтан басқару панелінен жасалған жылдам түзету кейін ешкім таба алмайтын өзгеріс болып қалмай, бұтағыңыздағы commit-ке айналады.

Веб-редактор →

Екі жақты синхрондау

Сіздің репозиторийіңіз бен нақты сайтыңыз, үндестікте

Оны қосыңыз, сонда сайттың жеке файлдары сіздің тармағыңызға қайта бекітіледі, ал сол тармақтағы коммиттер қайтадан сайтқа түседі. Бұл біз хостинг жасайтын әрбір сайтта, әрбір желіде жұмыс істейді — жалғыз талап, негізгі машина өз файлдарына қатысты Git-ті іске қоса алуы керек, бұл тарифтік жоспардан болжанбай, серверден сұралады.

Қай каталогтың синхрондалатынын өзіңіз таңдайсыз, себебі WordPress клиенті қырық мың негізгі файлдың емес, өз тақырыбының қадағаланғанын қалайды. Және оны өзіңіз қосқанша ол өшірулі болады: синхрондауды қосу — бұл біреудің репозиторийіне қатысты шешім және көшіру оны ешқашан сіздің орныңызға қабылдамауы тиіс.

  • Біздің аппараттық жасақтамадағы өңдеулер тармағыңыздағы коммиттерге айналады
  • Тармағыңыздағы коммиттер сайтқа қайтарылады
  • Құжаттың түпкі каталогын толығымен емес, тек бір каталогты — тақырыпты, плагинді — синхрондаңыз
  • Әдепкі бойынша өшірулі, соның ішінде бұрыннан бар әрбір сайтта
Өңдегіште ашылған файл және сол файл репозиторийде коммит ретінде көрсетілген.

Каталогты жариялаңыз немесе оны өзіңіздің CI жүйеңізге жинақтауға рұқсат етіңіз

Екі режим және айырмашылығы жинақтың қай жерде орындалатынында. Екеуі де бір жерде аяқталады: біз алатын және жариялайтын ref, сонымен бірге коммит орналастыруға қатысты жазылады.

  • Жариялау режимі тармағыңызды сол күйінде қабылдап, сіз көрсеткен каталогты жариялайды — бос қалдыру репозиторийдің түбірін білдіреді.
  • CI режимі сіздің құрастыру пәрменіңізді провайдеріңіздің жеке конвейерінде іске қосады және нәтижені кез келген басқа сілтеме сияқты біз шығарып алатын бөлек жариялау тармағына тіркейді.
  • Орналастыру жарияланатын тармақтың атауы әрқашан анық көрсетіледі, ешқашан «әдепкі тармақ» деп аталмайды — әдепкі тармақ сіздің хабарыңызсыз өзгеруі мүмкін, ал қай тармақты жариялағанын көрсете алмайтын журнал журнал емес.
  • Автоматты түрде орналастыру әдепкі бойынша қосулы және оны вебхукты жоймай-ақ өшіруге болады, осылайша сіз олардың әрекет етуіне рұқсат бермес бұрын жеткізілімдердің келуін бақылай аласыз.
  • Әрбір өрістету өзінің коммитін, нәтижесін және уақытын жазады және фондық режимде орындалады — жинақтау аяқталған кезде бет жаңартылады.
  • Байланысты ажырату дәл біз жасаған вебхукты оның id-і бойынша ғана жояды және репозиторийіңіздегі басқа ештеңені өшірмейді.

Репозиторийден тікелей сайтқа дейін

  1. Тіркелгіні байланыстыру

    Қосылымдар бөліміндегі GitHub немесе GitLab. Артықшылықтар таңбалауышты жасамас бұрын тізімделеді және ол сақталғанға дейін провайдермен салыстырылып тексеріледі.

  2. Сайтты репозиторийге бағыттау

    Иесі, репозиторий, тармақ және біз каталогты жариялаймыз ба немесе CI құрастырған нәтижені аламыз ба. Біз оның бөлігі ретінде push вебхугін тіркейміз.

  3. Итеріңіз немесе батырманы басыңыз

    Белгіленген тармаққа жіберу (push) орналастыруды бастайды немесе сайттың Орналастыру қойындысынан қажет болған кезде орналастыра аласыз. Құрастырулар фонда орындалады.

  4. Оны қарап шығыңыз және қаласаңыз, қайта синхрондаңыз

    Өрістету тарихы ненің және қашан жарияланғанын көрсетеді. Екі жақты синхрондауды қосыңыз, сонда мұнда жасаған түзетулеріңіз тармағыңызға коммиттер ретінде оралады.

Бірдеңе дұрыс болмаған кезде

«Қосылған, бірақ ешқашан жеткізілмеген» — бұл туралы біз сізге міндетті түрде хабарлайтын күй

Дұрыс жұмыс істеп тұрған сияқты көрінетін, бірақ ештеңе қабылдамайтын репозиторий қосылымы — бұл қатесі байқалмайтын классикалық жағдай: рұқсат аясы қате токен, провайдер тарапында бұғатталған жеткізу, әлдекім қолмен өшіріп тастаған ілмек (hook). Бұл басқа бірде-бір экранда көрінбейді, сондықтан репозиторий картасы мұны тікелей көрсетеді: провайдер бізге соңғы рет қашан жеткізді және нені хабарлады.

Жеткізілімдер бойынша әрекет жасамас бұрын олардың қолтаңбасы тексеріледі; бұл ретте барлығына ортақ деп болжанған схема емес, әр жеткізушінің жеке схемасы қолданылады. Тексеруден өтпеген жеткізілім жай ғана еленбей қалмайды, қабылданбайды және жазылып алынады.

  • Карточкадағы соңғы жеткізу уақыты мен хабарламасы
  • Бос қалдырылмай, «Ешқашан жеткізілмеген» деп көрсетіледі
  • Кез келген нәрсе орындалмас бұрын қолтаңба әр провайдер бойынша тексерілді
  • Біз жасаған ілмек байланысты үзген кезде идентификатор бойынша жойылады
Вебхук жеткізілімі түсіп, кез келген нәрсені іске қоспас бұрын тексерілуде.

Сәйкестік

GitHub немесе GitLab арқылы кіру — немесе Google, немесе Microsoft

Электрондық пошта мекенжайы мен құпия сөзден бөлек, Zinn Digital® есептік жазбаңызға GitHub, GitLab, Google немесе Microsoft арқылы кіре аласыз. Сәйкестендіру деңгейі байланыс орнатуды (handshake) орындайды; біз провайдеріңіздің құпия сөзін ешқашан көрмейміз және әлеуметтік желі есептік жазбасын бар Zinn® есептік жазбасына байланыстыру әлі де электрондық пошта арқылы расталуы тиіс.

GitHub арқылы кіру және орналастырулар үшін GitHub-ты байланыстыру — бөлек шешімдер және бөлек тіркелгі деректері. Біреуін орындау екіншісін орындамайды және біреуін жою екіншісін жоймайды.

  • GitHub, GitLab, Google және Microsoft арқылы кіру
  • Бір есептік жазбадағы рұқсат кілттері мен екі факторлы аутентификация
  • Кіру және орналастыру тіркелгі деректері бөлек сақталады
Командаңызға арналған өкілетті қолжетімділік
Бірнеше адамның әртүрлі провайдерлер арқылы бір есептік жазбаға кіруі.

Жиі қойылатын сұрақтар

Бастапқы кодты басқарудың қандай провайдерлерін қоса аламын?

GitHub және GitLab. Өзіңіз жұмыс істеп жатқан есептік жазбаны байланыстырыңыз, сонда біз оның репозиторийлерінен орналастыра аламыз, оларға push вебхугын тіркей аламыз және — қаласаңыз — сайтыңыздың файлдарын кері бағытта синхрондай аламыз. Екеуі де бірдей байланыстырылған есептік жазба тетігі арқылы өтеді, сондықтан төмендегілердің барлығы екеуіне де қатысты.

GitHub немесе GitLab арқылы кіре аламын ба?

Иә, сондай-ақ Google немесе Microsoft арқылы. Электрондық пошта мекенжайы мен құпиясөзбен қатар, төртеуінің кез келгенімен Zinn Digital® есептік жазбаңызға кіре аласыз. Сәйкестендіру деңгейі байланыс орнатуды басқарады және біз провайдеріңіздің құпиясөзін ешқашан көрмейміз. GitHub арқылы кіру — бұл орналастырулар (deploy) үшін GitHub қызметін қосудан бөлек нәрсе — екеуін де, біреуін ғана немесе ешқайсысын да істемеуге болады.

Репозиторийді қайда орналастыруға болады?

Статикалық немесе құрастырылған сайт үшін Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps немесе AWS Amplify қызметтеріне — не болмаса репозиторий мен сайт файлдары екі бағытта да синхрондалып отыратын өзіміздің басқарылатын хостингімізге орналастырыңыз. Сайттың тағайындалған орнын өзіңіз таңдайсыз; репозиторий байланысы екі жағдайда да бірдей қалады.

Менің сайтымды жасап бере аласыз ба, әлде ол алдын ала дайын болуы керек пе?

Екеуі де. Жариялау режимінде біз тармақты сол күйінде қабылдаймыз және сіз көрсеткен каталогты жариялаймыз. CI режимінде провайдеріңіздің жеке конвейері құрастыру пәрменін іске қосады және нәтижені бөлек жариялау тармағына жібереді, содан кейін біз оны кез келген басқа сілтеме сияқты аламыз. Екіншісі құрастыруыңызды құпияларыңыз бен кэштеуіңіз бұрыннан бар жеке CI ішінде сақтайды.

Push автоматты түрде өрістетіле ме?

Әдепкі бойынша, иә — біз репозиторийде вебхук тіркейміз және сіз таңдаған тармаққа жасалған push орналастыруды бастайды. Мұны өшіріп, вебхукты сақтап қалуға болады, бұл естілгеннен әлдеқайда пайдалы: жеткізу әлі де жазылып отырады, сондықтан бізге әрекет етуге рұқсат бермес бұрын push-тарыңыздың келгенін бақылай аласыз.

Екі жақты синхрондау деген не?

Біздің жабдықта жасалған өңдеулер тармағыңызда commit болады, ал тармағыңыздағы commit-тер сайтқа қайтарылады. Оны өзіңіз қосқанша ол өшірулі болады, өйткені оны қосу басқа біреудің репозиторийі туралы шешім болып табылады және біз бұл шешімді сіз үшін қабылдамаймыз. Қай каталог синхрондалатынын өзіңіз таңдайсыз — әдетте қырық мың WordPress негізгі файлдары емес, тема немесе плагин.

Екі жақ та өзгерсе не болады?

Ештеңе қайта жазылмайды және ештеңе жіберілмейді. Синхрондау тоқтайды, тармақтың біз негізделген коммиттен асып кеткенін хабарлайды және қай жағын қалайтыныңызды сұрайды — репозиторийді сақтау немесе сайтты сақтау. Ешқашан синхрондалмаған және коммиттері бар тармаққа нұсқайтын сайт та өзіндік күй болып табылады және ол қайсысы шындық екенін болжаудың орнына сұрайды.

Менің қолжетімділік токенім қалай қорғалған?

Байланыс орнатпас бұрын, оған қажетті артықшылықтарды көрсетеміз, енгізу кезінде токенді провайдердің өз API-і арқылы тексереміз — осылайша жарамсыз немесе көлемі дұрыс емес токен ешқашан сақталмайды — және тек содан кейін ғана оны Vault жүйесіне жазамыз. Ол ешқашан біздің кодқа, журналға, орта файлына немесе командалық жолға түспейді. Қалаған кезде оны провайдерден кері қайтарыңыз немесе байланысты осы жерден жойыңыз.

Менің push жөнелтілімдерімді шын мәнінде қабылдап жатқаныңызды қалай білуге болады?

Репозиторий картасы провайдердің бізге соңғы рет қашан дерек жеткізгенін және оның не айтқанын көрсетеді. «Ешқашан жеткізілмеген» күйі — осы экрандағы ең пайдалы диагностика, өйткені «қосылған, бірақ ешқашан жеткізілмеген» дәл қате қолжетімділік аймағы бар токенге немесе бұғатталған жеткізуге ұқсайды — әрі ол басқа ешбір жерде көрінбейді. Әрекет жасамас бұрын әрбір жеткізілімнің қолтаңбасы тексеріледі.

Footprint-Free желісінде Pages орналастыруын пайдалана аламын ба?

Бұл ұсынылады және белгіленген. GitHub Pages және GitLab Pages провайдер инфрақұрылымын және жалпыға ортақ github.io мен gitlab.io хост атауларын ортақ пайдаланады, бұл іздеу жүйелері үшін із қалдырады — дәл осы желі болдырмау үшін жасалған жалғыз нәрсе. Із қалдырмайтын желі үшін оның орнына оқшауланған хостингке орналастырыңыз. Басқа барлық жағдайда Pages — бірінші дәрежелі шешім.

Неліктен мен Vercel қызметін нақты таңдауым керек?

Себебі оның тегін деңгейі тек коммерциялық емес мақсатта пайдалануға арналған. Қауіпсіз болған жағдайда, біз баратын орынды сіз байланыстырған тіркелгілерден анықтаймыз және Vercel бұл анықтаудан әдейі алып тасталған — тіркелгіні байланыстыру ешқашан коммерциялық сайтты лицензиясы рұқсат етпейтін жерге байқатпай орналастырмауы керек. Оны таңдасаңыз, ол басқалары сияқты жұмыс істейді.

Ненің және қашан орналастырылғанын көре аламын ба?

Иә. Әрбір орналастыру өзі жариялаған commit-ті, оның қашан орындалғанын және қалай аяқталғанын жазады, ал сайттың Орналастыру қойындысы тарихты қасындағы тікелей URL мекенжайымен бірге көрсетеді. Орналастырулар фондық режимде орындалады, сондықтан жүктеу белгішесін күтіп отырудың орнына бет жинақтау аяқталған сайын жаңартылып отырады.

Репозиторийіңізден өрістетіңіз

Картасыз 14 күндік сынақ мерзімін бастаңыз, GitHub немесе GitLab қосыңыз және сайтты тармаққа бағыттаңыз. Edge хостына немесе екі жақты файлдарды синхрондау мүмкіндігі бар жеке хостингімізге жариялаңыз.

Тегін бастау