AMP

AMP Sürüm Yayınlama Programı

Her hafta Salı günü tüm AMP sayfalarına yeni bir AMP sürümü aktarılır. AMP'deki bir değişiklik, amphtml havuzunun ana dalıyla birleştirildiğinde, değişikliğin tüm kullanıcılar için geçerli olması genellikle 1-2 hafta sürer.

Yayın Kanalları

AMP çalışma zamanı ve uzantıları, çeşitli farklı yayın kanalları aracılığıyla sunulur. Her kanal, geliştiriciler ve AMP HTML Projesi'nin kendisi için bir amaca hizmet eder. ampproject/amphtml bilgi havuzundan kodların nasıl ve ne zaman yayın derlemelerine aktarıldığına dair daha detaylı döküm için yayın temposu bölümüne göz atın.

Aşağıdaki yayın kanallarından herhangi birine PR dahil edilip edilmediğini belirlemek için şu GitHub etiketlerini arayın: PR Use: In Canary, PR Use: In Production veya PR Use: In LTS (daha fazla ayrıntı için değişikliğinizin bir sürümde olup olmadığını belirleme hakkındaki bölüme bakın).

Gecelik

Gecelik yayın kanalı, (adından da anlaşılacağı gibi) hafta içi her gece güncellenir. Bu süreç otomatiktir ve herhangi bir gecelik sürümün hata veya başka sorunlar içermediğinin garantisi yoktur. Her gece, gece yarısından (Pasifik Saati) sonra, günün son "yeşil" yürütmesi (commit), yayın sona erme noktası olarak seçilir. Yeşil bir derleme, tüm otomatik testlerin bu derlemede gerçekleştirildiğini gösterir.

Her gece yayınlanan sürüm, sorunları hızlı bir şekilde ve trafiği daha yoğun haftalık yayın kanallarına ulaşmadan önce tespit etmek ve çözmek için bir mekanizma sağlar. Ayrıca yeni ortaya çıkan sorunlardan etkilenen kullanıcı sayısını azaltmaya da hizmet eder.

Son birkaç gün içinde birleştirilen çekme taleplerini test etmek için gecelik kanalı seçmek mümkündür. Ayrıntılar için [DEVELOPING.md] içindeki kaydolma bölümüne bakın.

Haftalık

Haftalık yayın kanalları, birincil "her zaman yeşil" yayın kanalları olarak kabul edilir. Her hafta önceki haftanın beta sürümü kararlı sürüm kanalına yükseltilir ve önceki haftanın son gece sürümü deneysel ve beta sürüm kanallarına yükseltilir (ayrıntılı programa bakın).

Sürüm derlemeleri oluştururken kullanılan iki grup derleme yapılandırması vardır: kanarya yapılandırması ve üretim yapılandırması. Deneysel ve beta sürüm kanalları, aynı yürütme (commit) ile oluşur. Ancak deneysel kanal, kanarya yapılandırmasını kullanırken beta kanalı üretim yapılandırmasını kullanır. Kanarya yapılandırması, üretimde kapatılabilen deneysel bileşenleri ve özellikleri etkinleştirir. Deneyler sayfasından deneysel veya beta kanallarını seçmek mümkündür.

Kararlı sürüm kanalı, üretim yapılandırmasıyla oluşturulur ve AMP trafiğinin çoğuna sunulur. Beta sürüm kanalı da üretim yapılandırmasından oluşturulduğundan, sonraki hafta kararlı hale gelecek olan tam derlemeyi temsil eder (son dakika sorunlarını düzeltmek için seçim yapma olasılığı ile; Kod Katkısı Yapma bölümüne bakın).

Beta ve Deneysel kanalları

Beta ve Deneysel Kanalları, AMP'nin bir sonraki Kararlı sürümü için yayın öncesi adaylardır. Her Salı (sürümün dondurulduğu haftalar hariç), geçen haftanın gecelik sürümü, beta ve deneysel sürümü seçimi için geliştirici seçim kanallarına yükseltilir. Bu kanallarda hiçbir özellik veya performans düşürme eyleminin yapılmadığını doğruladığımız 1 günlük bir sürenin ardından, bu sürümü Çarşamba günü trafiğin küçük bir kısmına aktarırız. Aynı sürüm, sonraki hafta Salı günü kararlı kanala yükseltilir.

Bu kanalları seçmek mümkündür. Ayrıntılar için [DEVELOPING.md] içindeki kaydolma bölümüne bakın.

Şu amaçlarla Beta Kanalına dahil olunur:

  • yakında yayınlanacak AMP çalışma zamanı sürümünü test etme ve onunla oynama
  • sitenizin bir sonraki AMP sürümüyle uyumlu olmasını sağlamak için Kalite Güvencesi (QA) kullanma

Şu amaçlarla Deneysel Kanalına dahil olunur:

  • henüz tüm kullanıcılar için mevcut olmayan yeni özellikleri test etme ve onlarla oynama
  • sitenizin, henüz geliştirilmekte olan AMP'nin gelecek özellikleriyle uyumlu olmasını sağlamak için Kalite Güvencesi (KG) kullanma

Deneysel Kanalı daha az kararlı olabilir ve henüz tüm kullanıcılar tarafından kullanılamayan özellikler içerebilir.

Uzun Vadeli Kararlı (lts)

lts sürüm yayınlama kanalı, bir aylık aralıklarla önceki bir kararlı derlemeyi sağlar. Her ayın ikinci Pazartesi günü, mevcut kararlı sürüm lts'ye yükseltilir. Bu kanal, tüm AMP yayıncıları için önerilmez. Bu seçenk, web sitelerinde daha az sıklıkta KG döngüsü gerçekleştirmek isteyen yayıncıların bunu lts kanalına belirli web sayfalarını seçerek yapabilmeleri için sağlanmıştır (bkz. lts readme).

Ayın ikinci pazartesi gününün tatile denk gelmesi durumunda, yükseltme, yayın dondurma sürecinin bitiminden sonra gerçekleştirilecektir.

Önemli: lts sürüm kanalını kullanan yayıncılar yeni tanıtılan özellikleri kullanmamalıdır. Daha uzun döngüden dolayı, lt sürümü, ampproject/amphtml HEAD bölümünden yedi hafta kadar geride olabilir. Seçtiğiniz sürüm döngüsünde bir değişikliğin hazır olup olmayacağını doğrulamak için değişikliğinizin bir sürümde olup olmadığını belirleme bölümüne bakın.

Değişikliğinizin bir sürümde olup olmadığını belirleme

Type:Release GitHub konuları, mevcut ve geçmiş sürümlerin durumunu izlemek için kullanılır; ilk kesitten deneysel/beta kanalları aracılığıyla test etmeye, kararlı ve lts kanalları aracılığıyla nihai sürüme kadar. Sürümlerle ilgili duyurular AMP Slack #release kanalında yapılır (Slack'e kaydolun).

Aşağıdakilerden birini kullanarak belirli bir derlemede hangi değişikliklerin olduğunu belirleyebilirsiniz:

Yayın Temposu

Yayın tempomuz konusunda kasıtlı olarak ihtiyatlıyız.

AMP'nin yeni sürümlerini ne sıklıkla herkese yaymamız gerektiğini belirlerken, aşağıdakiler dahil birçok faktörü tartmamız gerekiyor:

  • AMP kullanılarak oluşturulan milyonlarca site/milyarlarca sayfa için kararlılık
  • yeni bir sürümü gönderdiğimizde ortaya çıkabilecek önbellek bozulması
  • yeni özellikleri hızla ortaya çıkarma arzusu

Tüm bu faktörleri değerlendirdikten sonra 1-2 haftalık aktarma döngüsüne ulaştık. Şimdiye kadar, bunu makul bir taviz olarak görüyoruz, ancak tüm bu faktörleri değerlendirmeye devam edeceğiz ve gelecekte değişiklikler yapabiliriz.

Ayrıntılı program

Karışıklıklar gecikmelere neden olsa da, bu programa olabildiğince yakından bağlı kalmaya çalışıyoruz. Type: Release GitHub konuları ve AMP Slack #release kanalındaki herhangi bir sürümle ilgili en son durumu takip edebilirsiniz (Slack'e kaydolun).

  • Salı, 11am Pasifik: yeni deneysel ve beta sürüm derlemeleri, tüm testlerimizi geçen en son ana derlemeden oluşturulur ve sırasıyla AMP Deneysel Kanalına veya AMP Beta Kanalına katılan AMP kullanıcılarına aktarılır.
  • Çarşamba: Deneysel Kanalı ve Beta Kanalı kullanıcıları için hata raporlarını kontrol ediyoruz ve her şey yolunda görünüyorsa beta sürümünü AMP sayfalarının %1'ine aktarıyoruz
  • Perşembe-Pazartesi: Deneysel Kanalı ve Beta Kanalı kullanıcıları için hata oranlarını ve hata raporlarını ve deneysel/beta derlemelerine sahip sayfaların %1'ini izlemeye devam ediyoruz
  • Ertesi hafta Salı: beta derleme tamamen kararlı hale getirilir (yani tüm AMP sayfaları artık bu yapıyı kullanır)

Sürüm Dondurma

Sürümün dondurulması olarak bilinen bir AMP sürümünü üretim aşamasına aktarmayı atladığımız durumlar vardır.

N Haftası için bir haftalık sürüm dondurması duyurulursa:

  • Önceki haftanın sürüm yapısı, fazladan bir hafta boyunca deneysel/beta sürümünde kalır, yani normalde olduğu gibi Hafta N-1'deki sürüm kesiti, Hafta N'de kararlı hale getirilmez. Bunun yerine, Hafta N + 1'de kararlı hale getirilecektir.
  • Dondurma haftasında (Hafta N) yeni bir sürüm derlemesi yapılmadı .
  • Normal program, Hafta N + 1'de devam edecek, yani deneysel/beta sürüm Hafta N + 1'de kesilecek ve Hafta N + 2'de kararlı hale getirilecektir.
  • N-1 Haftasında yükseltilen kararlı sürümün başlangıçta N Haftasında lts'ye yükseltilmesi planlanmışsa, artık Hafta N + 1'in Pazartesi günü lts'ye yükseltilecektir.
  • Tamamen otomatik olduklarından gecelik yayınlar oluşturulmaya ve aktarılmaya devam edilirler.

Aşağıdaki nedenlerden dolayı sürüm dondurma meydana gelebilir:

  • AMP sürümünü kararlı hale getirmek ve izlemek için yeterli sayıda kişinin bulunmadığı zamanlar. Şu anda AMP sürümlerini gerçekleştiren kişilerin çoğu Amerika Birleşik Devletleri'nde yaşıyor, bu nedenle dondurma tarihleri genellikle ABD'nin Bağımsızlık Günü (4 Temmuz), Şükran Günü (Kasım'ın dördüncü Perşembe günü), Noel (25 Aralık) ve Yeni Yıl Arifesi/Gün (31 Aralık/1 Ocak) gibi büyük tatillerinin haftaları içinde olacaktır.
  • Teknik Yürütme Komitesi (TSC) veya sürümü yayınlayan kişiler tarafından belirlenen güvenlik veya gizlilik sorunu gibi acil bir durum.
  • TSC tarafından belirlendiği üzere kod tabanının kararlılığının özellikle önemli olduğu diğer durumlar.

Acil durumlar haricindeki tüm durumlarda, sürüm dondurma zamanları en az bir ay önceden duyurulacaktır.

Aksi belirtilmedikçe, sürüm dondurmanın kod dondurma anlamına gelmediğini unutmayın. Sürüm dondurma sırasında kod yine de yazılabilir, incelenebilir ve birleştirilebilir.