İçeriğe geç
Docs

Sürümler, Canlıya Alma ve Geri Alma

Sürüm durumları, aktivasyon sonuçları, korumalı önizleme bağlantıları, canlıya alma ve geri alma kuralları, panel Sürümler ekranı ve derleme günlükleri.

Son güncelleme:

Her alan, kodunun her üretim derlemesini numaralı bir sürüm olarak tutar. Bu sayfa sürümün yaşam döngüsünü, staged ve production hedeflerini, önizleme bağlantılarını, canlıya alma ve geri alma kurallarını ve paneldeki Sürümler ekranını anlatır. Örnekler tema komutlarıyla verilmiştir; uygulamalarda aynı işlemler tecof app push|versions|promote|rollback ile yapılır.

Sürümler alanın kodunu kapsar. Sayfa içerikleri, ürünler, CMS kayıtları ve mağaza ayarları sürümlenmez; canlıya alma ve geri alma onları değiştirmez.


Sürüm Nedir#

  • Bir sürüm, alan deposundaki bir commit ve onun üretim derlemesidir. Numara (v1, v2, …) alan başına artar ve bir kez verilir.
  • CLI push'ları dışında main dalına giden her yayın da sürüm olur: Cloud IDE kayıtları (ide), AI tema işleri (ai), tecof app deploy (cli) ve diğer commit'ler (git). Önizleme (production olmayan) derlemeleri sürüm değildir.
  • Staged bir sürüm canlıya alındıktan sonra Vercel'in main dalı için yaptığı ikinci derleme aynı sürüme bağlanır; yeni numara açılmaz. Elle yeniden dağıtılan bir commit de mevcut sürümüne bağlanır.
  • Sürüme v12, 12 ya da sürüm kimliğiyle başvurulur.
  • source alanını okuyan araçlar tanımadıkları bir değeri genel bir kaynak olarak ele almalıdır; değer listesi genişleyebilir.

Durumlar#

DurumPaneldeAnlamı
uploadingYükleniyorCommit kuruluyor
queuedSıradaDerleme sırada
buildingDerleniyorDerleme sürüyor
readyHazırDerleme başarılı; önizlenebilir ve canlıya alınabilir
errorHataDerleme ya da commit başarısız; errorMessage ve tecof theme logs vN
canceledİptal edildiDerleme iptal edildi ya da --prod push'ta main aynı anda ilerlediği için commit main dalına yazılamadı (errorMessage: "base-moved")
Metin
push ─▶ uploading ─▶ queued ─▶ building ─┬─▶ ready ─┬─▶ staged:     promote ile canlıya çıkar
                                         │          └─▶ production: derleme bitince canlıya çıkar
                                         └─▶ error | canceled

CLI push sırasında sürümü ready, error ya da canceled olana kadar yoklar. Sonradan izlemek için:

Terminal
tecof theme versions          # liste (varsayılan 20, --limit ile en çok 100)
tecof theme versions v12      # tek sürüm; durum, commit, taban, adres, zamanlar

Staged ve Production#

Staged (varsayılan)Production (--prod)
Komuttecof theme pushtecof theme push --prod
main dalıDeğişmez; commit tecof/vN etiketinde dururCommit main dalına hızlı ileri yazılır
DerlemeCanlı sitenin ortam değişkenleriyle tam üretim derlemesi; alan adı atanmazmain dalının üretim derlemesi
Canlıya çıkışpromote ile, yeniden derlemedenDerleme bitince kendiliğinden
main ilerlemişsePush başarılı olur; canlıya alma 409 base-moved alırPush 409 base-moved alır, sürüm açılmaz
Derleme sayısıİki: staged derleme ve canlıya almadan sonra main derlemesiBir
OnayPush onay istemez; promote onay isterPush onay ister

Uygulamalarda push her zaman main dalının o anki hâlinin üstüne kurulur ve klasör istenen son durum sayılır; temalardaki gibi yerel taban tutulmaz.


Aktivasyon#

Push, sürüm ayrıntısı, canlıya alma ve geri alma yanıtları sürümün canlıya göre konumunu activation.outcome ile verir:

DeğerAnlamı
activatedSürüm canlıda
stagedHazır, hiç canlıya alınmadı; promote bekliyor
pendingDerleme sürüyor ya da canlıya alma / geri alma Vercel'de sırada. Sürüm okundukça sonuçlanır
rolled-backGeri alma yanıtında: geri alma yapıldı, alan geri alınmış durumda. Sürüm ayrıntısında: sürüm hazır ama alan geri alınmış olduğu için canlıya çıkmadı
supersededBaşka bir sürüm canlıda

Başarısız ya da iptal edilmiş sürümde outcome null olur. Nesne ayrıca liveVersion, rolledBack ve diagnostics alanlarını taşır. Staged bir derlemenin beklenmedik şekilde alan adı alması diagnostics içinde unexpected-activation olarak bildirilir.


Önizleme Bağlantıları#

tecof theme open vN ve paneldeki Önizle düğmesi hazır bir sürümün kendi adresini açar. Sürüm adresleri Vercel dağıtım adresleridir (*.vercel.app).

  • Alanın Vercel projesinde dağıtım koruması açıksa sürüm adresleri kilitlidir. Tecof proje başına bir erişim sırrı üretir ve bağlantıya ekler:

    Metin
    https://<dağıtım>.vercel.app/?x-vercel-protection-bypass=<sır>&x-vercel-set-bypass-cookie=true

    Bağlantı tarayıcıya bir erişim çerezi bırakır; aynı adreste sonraki gezinmeler çerezle açılır.

  • Bağlantı sır içerir. Sır proje geneli olduğu için tam bağlantıyı bilen herkes yalnız o sürümü değil, alanın bütün korumalı sürüm adreslerini açabilir. Bağlantının son kullanma zamanı yoktur (expiresAt: null). Yalnız yetkili kişilerle paylaşın.

  • CLI sırrı terminalde ve --json makbuzunda maskeler (x-vercel-protection-bypass=***); tam bağlantıyı --show-secret basar. Tarayıcıda açılan bağlantı her zaman tamdır.

  • Panel bağlantıyı yalnız açtığı yeni sekmeye verir; panelin kendisinde saklamaz ve göstermez.

  • Koruma kapalıysa bağlantı düz dağıtım adresidir ve yanıtta protected: false olur.

  • Bağlantıyı alana okuma erişimi olan herkes alabilir; read yetkili CI token'ı dahil.


Canlıya Alma#

tecof theme promote vN · panelde Canlıya al

  1. Sürüm ready olmalıdır; değilse 409 version-not-ready.
  2. Yeniden derleme yapılmaz; alan adları saniyeler içinde sürümü gösterir. Vercel isteği sıraya alırsa sonuç pending olur ve sürüm okundukça (tecof theme versions vN) sonuçlanır.
  3. Hiç canlı olmamış staged sürüm: main dalı sürümün commit'ine hızlı ileri alınır. Bu yalnız main hâlâ sürümün tabanındaysa yapılır; değilse işlem hiç başlamaz ve 409 base-moved döner (data.mainSha, data.baseSha). Canlıya alma sürerken main ilerlerse (yarış) Tecof önceki canlı derlemeye döner ve yine 409 base-moved döner (data.reverted: true).
  4. Bilinen bedel: hızlı ileri alma, Vercel'in main dalındaki aynı commit'i bir kez daha derlemesine yol açar. İçerik aynıdır, canlı site etkilenmez ve ikinci derleme aynı sürüme bağlanır; yalnız derleme süresi harcanır. Önizlemeye ihtiyacınız olmayan değişikliklerde --prod tek derlemeyle yayınlar.
  5. Zaten main dalında olan sürüm (production hedefli, ör. geri almadan sonra ileri alma): main değişmez ve base-moved denetimi yapılmaz.
  6. Daha önce canlıda olmuş sürüm: Vercel'in geri alma mekanizmasıyla canlıya alınır; alan geri alınmış durumda kalır (aşağıda).
  7. Zaten canlı olan sürümü canlıya almak bir şey değiştirmez (activation.noop: true).
  8. Alan başına aynı anda tek commit, canlıya alma ya da geri alma çalışır; diğeri 409 space-busy alır (data.retryAfterSec).

Geri Alma#

tecof theme rollback [vN] · panelde Geri al

  1. Yalnız daha önce canlıda olmuş ve ready durumdaki bir sürüme geri alınabilir. Hiç canlı olmamış bir sürüm için 409 rollback-target-invalid (data.reason: "never-live") döner; o sürümü promote ile canlıya alın.
  2. Sürüm verilmezse şu anki canlı sürüm dışında en son canlıda olmuş sürüme dönülür. Böyle bir sürüm yoksa 409 rollback-target-invalid (data.reason: "no-previous-version").
  3. Geçiş anlıktır ve yeniden derleme yapılmaz. main dalına dokunulmaz: daha yeni değişiklikler main dalında kalır ama canlıda olmaz.
  4. Zaten canlı olan sürüme geri almak bir şey değiştirmez.

Geri Almadan Sonra Yayınlar#

Geri almadan sonra Vercel, main dalının yeni derlemelerine alan adlarını kendiliğinden atamayı durdurur. Tecof alanı geri alınmış olarak işaretler: rolledBack: true, tecof spaces ls çıktısında rolled-back sütunu, panelde "Canlı site vN sürümüne geri alındı" bandı.

Tecof'ta main dalına giden her yayın bir yayın niyetidir. Bu yüzden alan geri alınmışken staged olmayan yeni bir üretim derlemesi hazır olduğunda — Cloud IDE kaydı, AI tema işi, tecof theme push --prod, tecof app push --prod, tecof app deploy ya da main dalına giden başka bir commit — Tecof o derlemeyi kendiliğinden canlıya alır, geri alınmış işaretini kaldırır ve mağazanın etkinlik kaydına "geri alma yeni yayınla kaldırıldı" kaydı düşer. Böylece Cloud IDE ya da AI ile yayın yapan biri "yayınladım ama canlıda değil" durumunda kalmaz.

OlaySonuç
main dalına yeni yayın (Cloud IDE, AI, --prod, tecof app deploy, diğer commit'ler)Derleme bitince Tecof canlıya alır; geri alınmış işareti kalkar
Staged pushCanlıya çıkmaz; geri alınmış durum sürer
Hiç canlı olmamış bir sürümü canlıya almaSürüm canlıya çıkar; geri alınmış işareti kalkar
Daha önce canlıda olmuş bir sürümü canlıya almaSürüm canlıya çıkar; alan geri alınmış durumda kalır. Sonraki main yayınları yine yukarıdaki kuralla canlıya alınır

Otomatik canlıya alma anında alanda başka bir canlıya alma ya da geri alma sürüyorsa otomatik adım atlanır ve yeni sürüm ready olarak kalır. Bu durumda sürümü panelden ya da tecof theme promote vN ile canlıya alın.


Paneldeki Sürümler Ekranı#

  • Tema: Temalar → tema kartındaki ⋯ menüsü → Sürümler (https://app.tecof.com/app/themes/<kurulum kimliği>/versions). Cloud IDE araç çubuğundaki Sürümler bağlantısı aynı ekranı yeni sekmede açar.
  • Uygulama: geliştirici portalında uygulamanın Sürümler sekmesi (https://app.tecof.com/partner/apps/<uygulama kimliği>?tab=versions). Yalnız Tecof barındırmalı uygulamalarda; eski Dağıtımlar sekmesi (tecof app deploy) olduğu gibi durur.
Bölümİçerik
Canlı özetCanlı sürüm, canlıya alınma zamanı, alan adı ve hızlı "vM sürümüne geri al"
Sürüm listesiNumara, Canlı rozeti, durum, hedef (Hazırlık = staged, Üretim = production), kaynak, mesaj, kısa commit, yazar, zaman, yüklenen ve silinen dosya sayısı, hata metni
EylemlerÖnizle, Canlıya al, Geri al, Günlük; canlı sürümde Canlı siteyi aç
YenileCanlı sürümü Vercel'den yeniden okur
Geri alınmış bant"Canlı site vN sürümüne geri alındı" ve en yeni hazır sürüm için İleri al (vM)
Alan kimliğiCLI'da --space ile kullanılan kimlik ve kopyalama düğmesi
Boş durumİlk sürüm için CLI hızlı başlangıç komutları
  • Canlıya alma ve geri alma her zaman onay penceresi açar; sonuç sunucunun döndüğü aktivasyonla bildirilir.
  • Süren bir derleme varken liste kendiliğinden tazelenir; derleme bitince bildirim gösterilir.
  • Mağaza paketi özel temaları kapsamıyorsa liste ve önizleme açık kalır, canlıya alma ve geri alma kapanır.
  • Katalog temalarında ekran salt okunurdur ve Özel temaya kopyala önerir (Salt okunur alanlar).

Derleme Günlükleri#

tecof theme logs vN (uygulamada tecof app logs vN) ve paneldeki Günlük düğmesi sürümün derleme günlüğünün son 300 satırını gösterir. Tecof token biçimleri günlükte maskelenir. Derleme başarısız olursa tecof theme push son 40 satırı kendisi basar.


Etkinlik Kaydı#

Tema alanlarında push, canlıya alma, geri alma ve otomatik canlıya alma mağazanın etkinlik kaydına kod kategorisinde yazılır: işlemi yapan kullanıcı, kullanılan token, sürüm ve sonuç.


İlgili Sayfalar#