Эх кодын удирдлага

Аль хэдийн ашиглаж байгаа репозитороосоо байршуулаарай — байрлуулах есөн газар

Ажиллаж буй GitHub эсвэл GitLab бүртгэлээ холбож, салбараас шууд байршуулаарай: Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps эсвэл AWS Amplify руу — эсвэл репозитор болон сайтын файлууд хоёр чиглэлд синхрончлогдсон хэвээр байх манай удирдлагатай хостинг руу байршуулах боломжтой. Холболт бүр шаардагдах эрхүүдээ харуулдаг ба хадгалагдахаасаа өмнө үйлчилгээ үзүүлэгчийн API-аар шалгагдаж, Vault-д хадгалагддаг. Мөн та GitHub эсвэл GitLab-ээр нэвтрэх боломжтой.

Хадгалах сангаас шууд сайт руу дамжуулах хоолойгоор шилжиж буй коммит.
  • GitHub + GitLabАль хэдийн үүсгэсэн бүртгэлээ холбоно уу
  • Есөн очих цэгнайман хязгаарын хост, мөн манай өөрийн флот
  • Хоёр талын синксайт бүр, мөр бүр
  • Vault-д хадгалсаноруулахад баталгаажуулсан, бүртгэлд хэзээ ч биш
  • Токеныг хадгалахаас өмнө шалгасанхэт өргөн хүрээтэй токен хэзээ ч хэрэгждэггүй
  • Байршуулахын тулд илгээхгарын үсэг шалгагдсан ба сонголттой
  • Таны салбар, таны угсралтлавлах нийтлэх эсвэл өөрийн CI-г ажиллуулах
  • Зөв салгахбид өөрсдийн үүсгэсэн дэгээг яг таг устгадаг

Нэг удаа холбогдоод, юуг зөвшөөрч байгаагаа харна уу

Холболт гэдэг нь таны бусдад олгож буй итгэмжлэл юм. Манай систем үүнийг үүсгэхээс өмнө юу шаардлагатайг мэдэгдэж, хадгалахаас өмнө ажиллаж байгааг баталгаажуулдаг бөгөөд аль ч талаас нь цуцлах боломжтой.

Урьдчилан тодорхойлсон давуу эрхүүд

Токен үүсгэхээс тань өмнө бид түүний юу хийх чадвартай байх ёстой болон шалтгааныг хэлж өгдөг. Зүгээр л хүсэхэд илүү хялбар байсан тул бүхнийг хамарсан хамрах хүрээ гэж байхгүй бөгөөд ажилд шаардлагатай байснаас илүүг бид хүссэн байсныг явцын дараа мэдэх явдал байхгүй.

Нийлүүлэгчтэй тулгаж шалгасан, зүгээр л итгэл дээр тулгуурлаж хүлээн аваагүй

Бид таны токенийг хадгалахаасаа өмнө үйлчилгээ үзүүлэгчийн өөрийнх нь API-г тухайн токеноор дууддаг. Буруу, хугацаа нь дууссан эсвэл хамрах хүрээг нь буруу заасан токенийг хүлээн авч, зүгээр мэт харуулаад анхны бодит байршуулалтын үед алдаа гаргахын оронд маягт дээр шууд татгалздаг.

Зөвхөн Vault-д хадгалагдсан ба өөр хаана ч байхгүй

Манай кодонд биш, орчны файлд биш, бүртгэлд биш, тушаалын мөрөнд ч биш. Ашиглах тухайн агшинд, түүнийг ашиглаж буй ачааллаар шийдэгддэг.

Сайт тус бүрээр сонгосон нэгээс олон бүртгэл

Хувийн бүртгэлийг байгууллагын бүртгэлтэй, эсвэл хоёр байгууллагын бүртгэлийг холбоно уу. Вэбсайт бүр аль бүртгэлээс байршуулахаа сонгодог тул харилцагчийн репозитор болон таны репозитор хэзээ ч итгэмжлэх мэдээллийг хуваалцахгүй.

Репозитор байршиж болох есөн газар

Удирдлагатай заагийн найман хост болон манай өөрийн флот. Очих газар нь холболтын бус, харин сайтын шинж чанар тул ижил репозитор нь нэг салбарыг Pages хост руу нийтэлж, өөр нэг сайт нь манай техник хангамж дээр ажиллах боломжтой.

Cloudflare Pages

Хязгааргүй зурвасын өргөн, арилжааны зориулалтаар ашиглах зөвшөөрөлтэй, мөн ихэвчлэн таны DNS бүсийг агуулдаг ижил үйлчилгээ үзүүлэгч дээр зохицуулагддаг apex домэйнууд. Эдгээр шалтгааны улмаас энэ нь бидний хамгийн түрүүнд ханддаг сонголт юм.

Cloudflare Pages хостинг →

GitHub Pages

Код аль хэдийн байрлаж буй репозитороос шууд нийтэлнэ үү. Хуваалцсан github.io дэд бүтэц нь өөрөө мөр болдог тул Footprint-Free мөрөнд тэмдэглэгдсэн.

GitHub Pages хостинг →

GitLab Pages, Netlify, Vercel болон бусад нь

GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps болон AWS Amplify нь бүгд ижил холболт болон байршуулалтын түүхээр сайтоо чиглүүлж болох очих цэгүүд юм.

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

Манай өөрийн удирдлагатай хостинг

Бэлтгэсэн багц биш, бүрэн хэмжээний хэрэглээний программ — WordPress, PHP, Node. Энэ нь хоёр талын синхрончлол хийх хүрэх газар бөгөөд ингэснээр сервер болон салбар дахь файлууд үргэлж нийцэж байх болно.

Удирдлагатай хостинг →

Өөр хэн нэгний захын сүлжээн дээрх сайтууд

Бидний эзэмшдэггүй хост дээр нийтлэгдсэн сайт нь лимитээс зарцуулсан хэвээр байх бөгөөд таны ажиллуулж буй бусад бүх зүйлийн хамт өөрийн байршуулалтууд, ажилласан хугацаа болон SEO өгөгдлийн хамт таны хяналтын самбарт харагдсаар байх болно.

Гадаад сайтын хязгаар →

Эсвэл энд засна уу

Хөтөч дэх засварлагч нь хоёр талын синхрончлолын буцааж илгээдэг файлууд дээр ажилладаг тул хяналтын самбараас хийсэн хурдан засвар нь дараа нь хэн ч олж чадахгүй өөрчлөлт болохын оронд таны салбар дахь commit болно.

Веб засварлагч →

Хоёр талын синк

Таны репозитор ба таны шууд сайт, төгс зохицолд

Үүнийг асаахад сайтын өөрийн файлууд таны branch руу буцаж commit хийгдэх бөгөөд тухайн branch дээрх commit-ууд сайт руу буцаж татагдана. Энэ нь бидний host хийдэг бүх сайтуудад, бүх багцад ажилладаг — цорын ганц шаардлага нь суурь төхөөрөмж өөрийн файлууд дээр Git ажиллуулах чадвартай байх явдал бөгөөд үүнийг багцаас шууд таамаглах бус серверээс лавлаж тодорхойлдог.

Та аль лавлахыг синхрончлохыг өөрөө сонгоно, учир нь WordPress хэрэглэгч дөчин мянган үндсэн файлыг биш зөвхөн загвар сэдвээ хянахыг хүсдэг. Мөн үүнийг асаах хүртэл энэ нь унтраалттай байна: синхрончлолыг идэвхжүүлэх нь өөр хэн нэгний репозиторын тухай шийдвэр бөгөөд шилжүүлэлт үүнийг таны өмнөөс хэзээ ч шийдэж болохгүй.

  • Манай техник хангамж дээрх өөрчлөлтүүд таны салбар дахь коммитууд болно
  • Таны салбар дахь коммитууд сайт руу буцаж ирнэ
  • Баримтын үндсэн хавтсыг бүхэлд нь биш, зөвхөн нэг лавлахыг — загвар, нэмэлт өргөтгөл — синк хийнэ үү
  • Аль хэдийн үүссэн сайт бүрийг оруулаад анхдагчаар идэвхгүй
Засварлагчид нээсэн файл ба тухайн файлыг репозиторт commit хэлбэрээр харуулсан байдал.

Лавлах нийтлэх, эсвэл өөрийн CI-аар бүтээлгэх

Хоёр горим бөгөөд ялгаа нь бүтээлт хаана ажиллах явдал юм. Хоёулаа нэг цэгт дуусна: бидний татаж аваад нийтэлдэг ref бөгөөд коммит нь байршуулалтын дагуу бүртгэгдэнэ.

  • Нийтлэх горим нь таны салбарыг байгаа чигээр нь авч, таны заасан лавланг нийтэлнэ — хоосон байх нь репозиторын үндсийг илэрхийлнэ.
  • CI горим нь таны бүтээх командыг үйлчилгээ үзүүлэгчийн өөрийн сувагт ажиллуулж, гаралтыг бидний бусад лавлагааны адил татаж авдаг тусдаа нийтлэх салбар руу илгээдэг.
  • Байршуулалтыг нийтэлж буй салбарыг хэзээ ч "үндсэн салбар" гэж нэрлэхгүйгээр үргэлж тодорхой нэрлэдэг — үндсэн утга нь таны мэдэлгүйгээр өөрчлөгдөж болох бөгөөд аль салбарыг нийтэлснээ зааж чадахгүй түүх бол түүх биш юм.
  • Автомат байршуулалт анхдагчаар идэвхжсэн байдаг бөгөөд вебхүүкийг устгахгүйгээр унтраах боломжтой тул хүргэлтийг хэрэгжүүлэхээс өмнө ирж байгаа эсэхийг хянах боломжтой.
  • Байршуулалт бүр өөрийн коммит, үр дүн, цаг хугацааг бүртгэж, ард ажилладаг — угсралт дуусмагц хуудас шинэчлэгдэнэ.
  • Холболтыг салгаснаар зөвхөн бидний үүсгэсэн вэбхукийг id-аар нь устгах бөгөөд таны репозитор дахь бусад зүйлийг огт хөндөхгүй.

Репозитороос шууд сайт руу

  1. Бүртгэл холбох

    Холболтууд хэсэг дэх GitHub эсвэл GitLab. Эрхүүдийг таныг токен үүсгэхээс өмнө жагсаасан бөгөөд хадгалахаас өмнө үйлчилгээ үзүүлэгчээр шалгадаг.

  2. Сайтыг хадгалах сан руу заах

    Эзэмшигч, репозитор, салбар, мөн бид санг нийтлэх үү эсвэл таны CI-ийн угсарсан зүйлийг татаж авах уу гэдэг. Үүний хүрээнд бид push webhook-ийг бүртгэдэг.

  3. Түлхэх эсвэл товчийг дарна уу

    Заасан салбар руу илгээх (push) нь байршуулалтыг эхлүүлнэ, эсвэл та сайтын Байршуулах табаас хүсэлтийн дагуу байршуулж болно. Билдүүд далд горимд ажиллана.

  4. Үүнийг үзээд, хүсвэл буцааж синк хийнэ үү

    Байршуулалтын түүх нь юу, хэзээ нийтлэгдсэнийг харуулдаг. Хоёр талын синк хийхийг идэвхжүүлснээр энд хийсэн өөрчлөлтүүд таны салбар дээр commit хэлбэрээр буцаж ирнэ.

Асуудал гарсан үед

"Холбогдсон боловч хэзээ ч хүргэгдээгүй" гэдэг нь бидний танд бодитоор мэдэгдэх төлөв юм

Хэвийн харагдаж байгаа хэрнээ юу ч хүлээн авахгүй байгаа репозиторийн холболт нь сонгодог чимээгүй алдаа юм — буруу хүрээтэй токен, нийлүүлэгч дээр хаагдсан хүргэлт, хэн нэгэн гараар устгасан дэгээ зэрэг байж болно. Энэ нь бусад бүх дэлгэц дээр харагддаггүй тул репозиторийн карт нь үүнийг шууд харуулдаг: нийлүүлэгч бидэнд хамгийн сүүлд хэзээ хүргэсэн, мөн юу гэж мэдэгдсэнийг.

Хүргэлтүүдийг боловсруулахаас өмнө гарын үсгийг нь шалгадаг бөгөөд бүгдэд хамаарна гэж бидний таамагласан схемээр бус, нийлүүлэгч бүрийн өөрийн схемээр шалгадаг. Баталгаажаагүй хүргэлтийг чимээгүй орхих бус, татгалзаж, бүртгэж авдаг.

  • Карт дээрх сүүлийн хүргэлтийн цаг болон зурвас
  • Хоосон орхихгүй, "Хэзээ ч хүргэгдээгүй" гэж тэмдэглэнэ
  • Ямар нэгэн зүйл ажиллахаас өмнө нийлүүлэгч бүрээр гарын үсгийг баталгаажуулсан
  • Та холболтоо салгахад бидний үүсгэсэн дэгээ нь таних дугаараар устгагдана
Вэбхүүк хүргэлт ирж, ямар нэгэн зүйл эхлүүлэхээс нь өмнө шалгаж байна.

Идентификатор

GitHub эсвэл GitLab-аар нэвтрэх — эсвэл Google, эсвэл Microsoft

И-мэйл хаяг болон нууц үгээс гадна та GitHub, GitLab, Google эсвэл Microsoft ашиглан өөрийн Zinn Digital® бүртгэлд нэвтрэх боломжтой. Таних давхарга нь холболтын тохиролцоог (handshake) гүйцэтгэдэг; бид таны үйлчилгээ үзүүлэгчийн нууц үгийг хэзээ ч харахгүй бөгөөд одоо байгаа Zinn® бүртгэлд сошиал хаяг холбоход и-мэйлээр баталгаажуулах шаардлагатай хэвээр байна.

GitHub-ээр нэвтрэх болон байршуулалтуудад зориулан GitHub-ийг холбох нь тусдаа шийдвэрүүд бөгөөд тусдаа итгэмжлэлүүд юм. Нэгийг нь хийснээр нөгөө нь хийгдэхгүй бөгөөд нэгийг нь хассанаар нөгөө нь хасагдахгүй.

  • GitHub, GitLab, Google болон Microsoft-оор нэвтрэх
  • Нэг бүртгэл дээрх нэвтрэх түлхүүрүүд болон хоёр шатлалт баталгаажуулалт
  • Нэвтрэх болон байршуулах итгэмжлэлүүд тусдаа хэвээр байна
Танай багт зориулсан шилжүүлсэн хандалт
Хэд хэдэн хүн өөр өөр үйлчилгээ үзүүлэгчээр нэг бүртгэл рүү нэвтэрч байна.

Түгээмэл асуултууд

Эх кодын хяналтын ямар үйлчилгээ үзүүлэгчдийг холбох боломжтой вэ?

GitHub ба GitLab. Та өөрийн ажилладаг бүртгэлээ холбосноор бид түүний репозиторуудаас байршуулалт хийх, тэдгээрт түлхэх вэбхүүк бүртгэх болон — хэрэв хүсвэл — таны сайтын файлуудыг буцаан синк хийх боломжтой. Хоёулаа нэг ижил холбогдсон бүртгэлийн системээр дамждаг тул доорх бүх зүйл хоёуланд нь хамаарна.

Би GitHub эсвэл GitLab-аар нэвтэрч болох уу?

Тийм, мөн Google эсвэл Microsoft-оор. Имэйл хаяг болон нууц үгийн зэрэгцээ та энэ дөрвийн аль нэгээр нь өөрийн Zinn Digital® бүртгэлд нэвтрэх боломжтой. Таних тэмдгийн түвшин нь холболтыг зохицуулдаг бөгөөд бид таны үйлчилгээ үзүүлэгчийн нууц үгийг хэзээ ч харахгүй. GitHub-ээр нэвтрэх нь байршуулалтад (deploys) зориулж GitHub-ийг холбохоос тусдаа зүйл юм — та аль нэгийг нь, хоёуланг нь эсвэл алийг нь ч хийхгүй байж болно.

Би репозиторийг хаана байршуулах боломжтой вэ?

Статик эсвэл угсарсан сайтын хувьд Cloudflare Pages, GitHub Pages, GitLab Pages, Netlify, Vercel, Render, Azure Static Web Apps эсвэл AWS Amplify руу — эсвэл репозитор болон сайтын файлууд хоёр чиглэлд зэрэгцэж байдаг манай өөрийн удирдлагатай хостинг руу илгээнэ үү. Та сайтын очих газрыг сонгоно; аль ч тохиолдолд репозиторын холболт ижил байна.

Та манай сайтыг бүтээж өгөх боломжтой юу, эсвэл заавал урьдчилан бэлтгэсэн байх шаардлагатай юу?

Аль нь ч болно. Нийтлэх горимд бид салбарыг байгаагаар нь хүлээн авч, таны заасан санг нийтэлнэ. CI горимд таны үйлчилгээ үзүүлэгчийн өөрийн дамжуулах хоолой таны build тушаалыг ажиллуулж, гарцыг тусдаа нийтлэх салбар луу commit хийдэг бөгөөд бид үүнийг бусад аливаа ref-ийн адил татаж авдаг. Хоёр дахь нь таны build-ийг таны нууц мэдээлэл болон кэш аль хэдийн байгаа таны өөрийн CI дотор хадгална.

Push автоматаар байршуулагддаг уу?

Анхдагчаар бол тийм — бид репозиторт webhook бүртгэдэг бөгөөд таны заасан салбар руу хийсэн push нь байршуулалтыг эхлүүлдэг. Та үүнийг унтрааж, webhook-ийг хэвээр үлдээж болно, энэ нь бодож байгаагаас ч илүү ашигтай: хүргэлтийг бүртгэсэн хэвээр байх тул бидэнд тэдгээрийг боловсруулах зөвшөөрөл олгохоосоо өмнө та push-үүдээ ирж байгааг хянах боломжтой.

Хоёр талын синхрончлол гэж юу вэ?

Манай техник хангамж дээр хийсэн засварууд таны салбар дахь commit болж хувирах ба таны салбар дахь commit-ууд сайт руу буцаж очно. Та өөрөө асаах хүртэл энэ нь унтраалттай байх болно, учир нь үүнийг асаах нь өөр хэн нэгний репозиторын тухай шийдвэр бөгөөд бид таны өмнөөс энэ шийдвэрийг гаргахгүй. Аль лавлахыг синхрончлохыг та өөрөө сонгоно — ихэвчлэн WordPress-ийн дөчин мянган үндсэн файл биш, харин сэдэв эсвэл залгаас байна.

Хоёр тал хоёулаа өөрчлөгдсөн бол юу болох вэ?

Юу ч дахин бичигдэхгүй бөгөөд юу ч түлхэгдэхгүй (push хийгдэхгүй). Синхрончлол зогсож, салбар нь бидний суурилсан commit-оос цааш шилжсэнийг танд мэдэгдэх ба та аль талыг нь сонгохыг хүсэж байгааг асууна — репозиторыг хадгалах уу, эсвэл сайтыг хадгалах уу. Хэзээ ч синхрончлогдоогүй бөгөөд хэдийн commit-уудтай болсон салбар руу зааж буй сайт нь мөн өөрийн гэсэн төлөв бөгөөд аль нь бодитой болохыг таахын оронд асуудаг.

Миний хандалтын токен хэрхэн хамгаалагдсан бэ?

Холболтыг үүсгэхээс өмнө түүнд шаардлагатай эрхүүдийг танд харуулж, оруулах үед нь үйлчилгээ үзүүлэгчийн өөрийн API-аар токенийг шалгадаг — ингэснээр хүчингүй эсвэл буруу хүрээтэй токен хэзээ ч хадгалагдахгүй — бөгөөд зөвхөн үүний дараа л Vault-д бичдэг. Энэ нь манай код, бүртгэлийн файл, орчны файл эсвэл тушаалын мөрөнд хэзээ ч хүрдэггүй. Үйлчилгээ үзүүлэгч дээр түүнийг хүчингүй болгох эсвэл хүссэн үедээ эндээс холболтыг устгана уу.

Та миний илгээсэн push-үүдийг үнэхээр хүлээн авч байгаа эсэхийг би яаж мэдэх вэ?

Репозиторын хуудас нь нийлүүлэгч бидэнд хамгийн сүүлд хэзээ хүргэсэн болон юу мэдээлснийг харуулдаг. "Хэзээ ч хүргэгдээгүй" гэдэг нь тухайн дэлгэц дээрх хамгийн ашигтай оношилгоо юм, учир нь "холбогдсон боловч хэзээ ч хүргэгдээгүй" гэдэг нь хамрах хүрээг буруу тохируулсан токен эсвэл хаагдсан хүргэлт ямар байдгийг яг таг харуулдаг ба өөр хаана ч харагддаггүй. Бид аливаа арга хэмжээ авахаас өмнө хүргэлт бүрийн гарын үсгийг шалгадаг.

Би Footprint-Free шугам дээр Pages байршуулалтыг ашиглаж болох уу?

Үүнийг санал болгож байгаа бөгөөд тугнасан болно. GitHub Pages болон GitLab Pages нь үйлчилгээ үзүүлэгчийн дэд бүтэц болон нийтийн github.io болон gitlab.io хостын нэрсийг хуваалцдаг бөгөөд энэ нь хайлтын мөр (footprint) юм — энэхүү мөр нь үүнээс зайлсхийхийн тулд л оршдог. Ямар ч мөргүй сүлжээний хувьд үүний оронд тусгаарлагдсан хостинг дээр байршуулна уу. Бусад бүх газарт Pages нь нэгдүгээр зэрэглэлийнх юм.

Би яагаад Vercel-ийг тодорхой сонгох ёстой вэ?

Учир нь түүний үнэгүй багц нь зөвхөн арилжааны бус зорилгоор ашиглах лицензтэй байдаг. Аюулгүй гэж үзсэн тохиолдолд бид таны холбосон бүртгэлүүдээс очих газрыг тодорхойлдог бөгөөд Vercel-ийг энэ тодорхойлолтоос зориуд хассан болно — бүртгэл холбох үед арилжааны сайтыг лиценз нь зөвшөөрөөгүй газарт хэзээ ч мэдэгдэлгүйгээр байршуулж болохгүй. Үүнийг сонгоход бусадтай яг адилхан ажиллана.

Юу, хэзээ байршуулагдсаныг би харж болох уу?

Тийм. Байршуулалт бүр нийтэлсэн коммит, хэзээ ажилласан болон хэрхэн дууссаныг бүртгэдэг бөгөөд сайтын Байршуулалт таб нь түүхийг шууд URL-ийн хамт харуулдаг. Байршуулалт нь далд горимд ажилладаг тул таныг эргэлдэх дүрс харан хүлээлгэхийн оронд угсралт дуусмагц хуудас шинэчлэгддэг.

Өөрийн хадгалахаас байршуулах

Карт шаардахгүй 14 хоногийн туршилтыг эхлүүлж, GitHub эсвэл GitLab-ийг холбон, сайтаа салбар луу чиглүүлнэ үү. Edge хост руу эсвэл хоёр талын файл синк хийх боломжтой манай өөрийн хостинг дээр нийтлээрэй.

Үнэгүй эхлэх