Aracılığıyla paylaş


Başarısız derlemeler

Önemli

Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

Derlemenizin başarısız olmasının çeşitli nedenleri vardır ve bu durum projenize özgü olabilir. Derleme hatalarını tanılamanın genellikle etkili bir yolu, bunları çalışan bir derlemeyle karşılaştırmaktır. Bu işlem değişkenleri en aza indirip senaryonuz için uygun koşulları belirleyebilir.

Derleme yerel olarak çalışıyorsa ancak App Center'da çalışmıyorsa

Bu sorun genellikle kaydedilmemiş dosyalar, farklı araçlar veya geri yüklenmemiş bağımlılıklardan kaynaklanır. Denetlemek için yeni bir dosyada projenizin tam git clone’unu oluşturabilirsiniz. Ardından karşılaştırma için App Center ile aynı yapılandırmayla derleyin.

  1. Terminalinizi veya komut satırı isteminizi açın ve şunu yazın: mkdir appcenter-test
  2. Ardından dizinleri değiştirin: cd appcenter-test
  3. Deponuzu şu şekilde kopyalayın: git clone -b <branch> <remote_repo>
  4. Yeni kopyalanan projeyi yerel IDE'nizde veya komut satırınızda başlatın.
  5. App Center'da yürütülen derleme komutunu yerel olarak yürütülen komutla karşılaştırmayı deneyin.
  6. Yerel olarak kullandığınız araçların sürümlerini Bulut Derleme Makinelerimizle karşılaştırın

Değiştirilmiş dosya adları veya konumları olan dosyalar yoksayılır

Derlemeler, yakın zamanda taşınmış veya yeniden adlandırılmış bir anahtar dosyasını yoksayabilir. Derleme yapılandırmasında Kaydet veya Kaydet & Derleme'yi seçmeyi deneyin. Her iki seçenek de depo ağacınızı yeniden dizinler ve derleme tanımını güncelleştirir.

Bilinen nedenler derleme betiklerini & nuget.config dosyaları taşımak veya yeniden adlandırmaktır.

App Center'da farklı derlemeleri karşılaştırma

Derleme ayarlarınızdaki değişiklikleri izleme

Bu API yöntemini çağırarak dal yapılandırmanızı kaydedebilirsiniz: https://openapi.appcenter.ms/#/build/branchConfigurations_get

API, geçmiş yapılandırmaların kaydedilmesine doğrudan izin vermez. Ancak, bu komutu özel bir derleme betiğiyle çalıştırarak derlemelerinizin yürütürken geçerli yapılandırmayı otomatik olarak kaydetmesini sağlayabilirsiniz.

App Center Cloud Build Machines'te değişiklikleri izleme

Derleme ayarlarınız gibi, şu belgeyi gözden geçirerek geçerli araçları de kontrol edebilirsiniz: Bulut Derleme Makineleri.

Ancak, bu araçlardan hangilerinin belirli bir derleme için kullanılabilir olduğunu bir derleme betiğinde şu komutu çalıştırarak kaydedebilirsiniz:

eval cat $HOME/systeminfo.md

Bazı dallar çalışırken bazıları başarısız olur

Derleme ayarlarındaki veya dallar arasındaki kaydedilmiş koddaki farkları denetlemeyi deneyin. Ayrıca, aynı daldaki belirli bir işlemeden sonra derleme sürekli olarak başarısız olursa, başarısız işlemede hangi değişikliklerin yapıldığını denetlemeye değer.

Derlemeler aralıklı olarak başarısız olur

Derleme, kaynak kodunda veya derleme ayarlarında herhangi bir değişiklik yapılmadan başarısız olabilir. Örnek:

  • Geri yüklenen paketlerin farklı sürümleri
  • Dış hizmetler yanıt vermiyor
  • Derlemedeki tek tek görevler zaman aşımına uğradı
  • vb.

Hatalar oluştuğunda derleme hatasının tutarlı olup olmadığını denetlemeyi deneyin.

Hata iletilerini yalıtma ve yorumlama

Otomatik hata vurgulama

App Center Build, yaygın hata iletilerini veya yararlı çıkışı daha görünür hale getirmek için otomatik olarak vurgulama girişiminde bulunur. İpuçları genellikle birincil hatada, önceki günlüğe kaydetmede veya daha sonra günlüğe kaydetmede bulunabilir. Bu uygulama, derleme yapılandırması & her iki proje ayarı tarafından da imzalanır. Bu nedenle Android jarsigner bir hata günlüğe kaydeder:

Vurgulanan hatanın ekran görüntüsü

jarsigner: unable to sign jar: java.util.zip.ZipException: invalid entry compressed size (expected 13274 but got 13651 bytes)
##[error]Error: /usr/bin/jarsigner failed with return code: 1
##[error]Return code: 1

Daha derine inmek

İlgili hata iletilerini bulamazsanız, sonraki adım ana derleme sayfasından yapabileceğiniz derleme günlüklerini indirmektir. adlı logs_n > Build klasörü açtığınızda, sayısal sırada listelenen ayrı günlük dosyalarının listesini görürsünüz. Örnek:

  • 1_Intialize job.txt
  • 2_Checkout.txt
  • 3_Tag build.txt
  • vb.

Günlükler, derlemenizin ana aşamalarına göre numaralandırılır. Derleme hatalarının çoğu aşamaların geçilmesine ve ilgili günlüğün atlanmasına neden olur:

  • (Adım 1-9)...
  • derleme Script.txt 10_Pre
  • Xamarin.Android project.txt 11_Build
  • 12_Sign APK.txt
  • 15_Post Derleme Script.txt
  • 20_Post iş Checkout.txt
  • 21_Finalize Job.txt

Önce 13. aşama atlandı, bu nedenle 12. aşama iyi bir başlangıç noktasıdır. Sonraki aşamalar da geçilmiştir, ancak ilgili olma olasılıkları daha düşüktür.

Bağıntılı İşlemeleri Tanımlama

Derleme kullanıcı arabiriminde, geçerli derlemeniz için geçerli işleme iletisini ve karmayı görüntüleyebilirsiniz. Derleme sonuçlarını izlemek ve kaynak kodunuzdaki değişikliklerle ilişkilendirmek için bu özelliği kullanabilirsiniz.

Appcenter.ms - [Kuruluş-Adı] - [Uygulama-Adı>] - Derleme> - [Dal-Adı>] -> [Derleme-Numarası]> bölümüne giderek işleme iletilerini & karmaları görüntüleyebilirsiniz

Prototip URL'si: https://appcenter.ms/orgs/[ORG-NAME]/apps/[APP-NAME]/build/branch/[BRANCH-NAME]/builds/[BUILD-NUMBER]

Kaynaktan işleme & karması gösteren ekran görüntüsü

Derlemeye ilişkin bilgilerin en üstünde işlemenin adını ve kısaltılmış karması gösterilir. Ekran görüntüsünde:

  • Xamarin.UITest'i 3.0.5'ten 3.0.6'ya çarpma
  • İşleme 328ff115

Kısaltılmış karmaya tıklanması, bağlantılı depoyu aynı işlemede açar: https://github.com/microsoft/appcenter-Xamarin.UITest-Demo/commit/328ff115cb67280f7bdc70074ff605c8962470e4

Sonraki Adımlar

Sorununuzu daha fazla araştırmak için birkaç seçenek aşağıda verilmiştir:

Desteğe Başvurma

https://appcenter.ms/apps Oturum açın ve ekranın sağ alt köşesindeki sohbet simgesine tıklayın. En iyi sonuçları elde etmek için bileti şu şekilde açmak iyi bir fikirdir:

  • Gözlemlerinizin özeti
  • Konuyla ilgili araştırmanızın ayrıntıları ve alıntıları
  • Uygulama adı & derleme kimliği gibi temel bilgiler de dahil olmak üzere başarısız derlemelerin URL'leri
  • Hatalarla karşılaştırmak için derlemeleri geçirme URL'leri (varsa)