Aracılığıyla paylaş


Unity uygulamalarıyla DevOps

Modern platformlar için uygulama geliştirmek, yalnızca kod yazmaktan çok daha fazla etkinlik içerir. DevOps (geliştirme + işlemler) olarak adlandırılan bu etkinlikler, uygulamanın tüm yaşam döngüsünü kapsar ve planlama ve izleme çalışmalarını, kod tasarlamayı ve uygulamayı, kaynak kodu deposunu yönetmeyi, derlemeleri çalıştırmayı, sürekli tümleştirmeleri ve dağıtımları yönetmeyi, test (birim testleri ve UI testleri dahil), hem geliştirme hem de üretim ortamlarında çeşitli tanılama biçimleri çalıştırmayı ve telemetri ve telemetri aracılığıyla uygulama performansını ve kullanıcı davranışlarını gerçek zamanlı olarak izlemeyi içerir Analytics.

Visual Studio, Azure DevOps Services ve Team Foundation Server ile birlikte çeşitli DevOps özellikleri sağlar. Bunların çoğu, özellikle C# betik dili olarak kullanılırken Unity ile oluşturulan oyunlar ve çevreleyici grafik uygulamalar da dahil olmak üzere platformlar arası projeler için geçerlidir. Ancak Unity'nin kendi geliştirme ortamı ve çalışma zamanı altyapısı olduğundan, bir dizi DevOps özelliği Visual Studio'da oluşturulan diğer proje türlerine uygulanacağı gibi uygulanmaz.

Aşağıdaki tablolar, Visual Studio'daki DevOps özelliklerinin Unity ile çalışırken nasıl uygulanacağını veya uygulanmayacağını belirler. Özelliklerin ayrıntıları için bağlantılı belgelere bakın.

Çevik araçlar

Referans bağlantısı: Çevik araçlar ve Çevik proje yönetimi hakkında (Team Explorer Everywhere dahil olmak üzere Azure Boards ya da TFS kullanarak)

Genel Açıklama: Tüm planlama ve izleme özellikleri proje türünden ve kodlama dillerinden bağımsızdır.

Özellik Unity ile desteklenir Ek Açıklamalar
İş yığılımlarını ve sprint'leri yönetme Evet
İş izleme Evet
Ekip odasında işbirliği Evet
Kanban panoları Evet
İlerleme durumunu raporlama ve görselleştirme Evet

Modelleme

Başvuru bağlantısı: Analiz ve model mimarisi

Genel Açıklama: Bu tasarım özellikleri kodlama dilinden bağımsız olsa da veya C# gibi .NET dilleriyle çalışsa da, nesne hiyerarşileri ve sınıf ilişkileriyle geleneksel bir uygulama paradigması üzerinde çalışır. Unity'de bir oyun tasarlamak, tamamen farklı bir paradigma, yani grafik nesnelerin, seslerin, gölgelendiricilerin, betiklerin vb. ilişkilerini içerir. Bu nedenle, Visual Studio modelleme diyagramı araçları unity projesinin tamamıyla özellikle ilgili değildir. C# betikleri içindeki ilişkileri yönetmek için kullanılabilirler, ancak bu tümün yalnızca bir parçasıdır.

Özellik Unity ile desteklenir Ek Açıklamalar
Sıralı diyagramlar Hayır
Bağımlılık grafikleri Hayır
Çağrı hiyerarşisi Hayır
Sınıf tasarımcısı Hayır
Mimari gezgini Hayır
UML diyagramları (kullanım örneği, etkinlik, sınıf, bileşen, sıra ve DSL) Hayır
Katman diyagramları Hayır
Katman doğrulama Hayır

Kod

Özellik Unity ile desteklenir Ek Açıklamalar
Team Foundation Version Control (TFVC) veya Azure Reposları Kullanma Evet Unity projeleri, diğer tüm projeler gibi sürüm denetim sistemlerine yerleştirilebilen bir dosya koleksiyonudur, ancak bu tablodan sonra açıklanan bazı özel noktalar vardır.
Azure Repos'ta Git'i kullanmaya başlama Evet Tablodan sonraki notlara bakın.
Kod Kalitesini İyileştirme Evet
Kod değişiklikleri ve diğer geçmişi bul Evet
Uygulamalarınızın hatalarını ayıklamak için kod eşlemelerini kullanma Evet

Unity ile sürüm denetimi için dikkat edilmesi gereken özel noktalar:

  1. Unity, varsayılan olarak gizli olan tek, opak bir kitaplıkta oyun varlıkları hakkındaki meta verileri izler. Dosyaları ve meta verileri eşitlenmiş durumda tutmak için meta verilerin görünür olması ve daha yönetilebilir öbekler halinde depolanması gerekir. Ayrıntılar için Unity ile Dış Sürüm Denetim Sistemlerini Kullanma (Unity belgeleri) bölümüne bakın.

  2. Yukarıdaki bağlantıda da açıklandığı gibi, bir Unity projesindeki tüm dosya ve klasörler kaynak denetimi için uygun değildir. Varlıklar ve ProjectSettings klasörleri eklenmelidir, ancak Kitaplık ve Geçici klasörleri eklenmemelidir. Kaynak denetimine gitmeyen oluşturulan dosyaların ek listesi için bkz. Unity3D kaynak denetimi için Git nasıl kullanılır tartışmasına bakın. Stack Overflow'da. Birçok geliştirici de bu konuda bağımsız olarak blog yazdı.

  3. Dokular veya ses dosyaları gibi unity projesindeki ikili varlıklar büyük miktarda depolama alanı kaplayabilir. Git gibi çeşitli kaynak denetim sistemleri, değişiklik dosyanın yalnızca küçük bir bölümünü etkilese bile yapılan her değişiklik için dosyanın benzersiz bir kopyasını depolar. Bu, Git deposunun aşırı şişkin hale gelmesine neden olabilir. Bu sorunu çözmek için Unity geliştiricileri genellikle depolarına yalnızca son varlıkları eklemeyi seçer ve varlıklarının çalışma geçmişini (OneDrive, DropBox veya git-ek gibi) tutmak için farklı bir yöntem kullanır. Bu yaklaşım işe yarar çünkü bu tür varlıkların genellikle kaynak kod değişiklikleriyle birlikte sürümüne gerek yoktur. Geliştiriciler ayrıca genellikle proje düzenleyicisinin Varlık Serileştirme Modu'nu metinleri ikili biçim yerine metin biçiminde depolamaya zorlayacak şekilde ayarlar ve bu da kaynak denetiminde birleştirmelere olanak tanır. Ayrıntılar için bkz. Düzenleyici Ayarları (Unity belgeleri).

İnşa Etmek

Başvuru bağlantısı: Azure Pipelines

Özellik Unity ile desteklenir Ek Açıklamalar
Şirket içi Team Foundation Server (TFS) Mümkün Unity projeleri, Visual Studio derleme sistemi ile değil, Unity ortamı aracılığıyla oluşturulur (Unity için Visual Studio Araçları'nın içinde derleme yapmak betikleri derler ancak yürütülebilir bir uygulama oluşturmaz). Unity projelerini komut satırından (Unity belgeleri) derlemek mümkündür, bu nedenle Unity'nin kendisi bu bilgisayarda yüklü olması koşuluyla uygun Unity komutlarını yürütmek üzere bir TFS sunucusunda MSBuild işlemini yapılandırmak mümkündür.

Unity ayrıca bir Git veya SVN deposunu izleyen ve düzenli derlemeler çalıştıran Unity Cloud Buildsunar. Şu anda TFVC veya Azure DevOps Services ile çalışmıyor.
Azure DevOps Services'e bağlı şirket içi derleme sunucusu Mümkün Yukarıdaki koşulların aynısını göz önünde bulundurarak Azure DevOps Services aracılığıyla tetiklenen derlemeleri şirket içi TFS bilgisayarı kullanmaya yönlendirmek de mümkündür. Derleme ve yayın aracıları hakkında bilgi için'e bakın.
Azure DevOps Services'ın barındırılan denetleyici hizmeti Hayır Unity derlemeleri şu anda desteklenmiyor.
Ön ve son eklerle tanım oluşturma Evet Derlemeyi çalıştırmak için Unity komut satırını kullanan özel derleme tanımı, derleme öncesi ve sonrası betikler için de yapılandırılabilir.
Geçitli kod gönderimleri de dahil olmak üzere sürekli tümleştirme Evet Git, değişiklik gönderimleri yerine bir çekme isteği modeli üzerinde çalıştığından TFVC'de sadece geçitli değişiklik gönderimleri bulunur.

Test

Özellik Unity ile desteklenir Ek Açıklamalar
Testleri planlama, test çalışmaları oluşturma ve test paketlerini düzenleme Evet
El ile test etme Evet
Test Yöneticisi (kayıt ve çalıştırma testleri) Yalnızca Windows cihazları ve Android öykünücüleri
Kod kapsamı Yok Birim testi Visual Studio'da değil Unity'de gerçekleştiği için geçerli değildir, aşağıya bakın.
Kodunuzu birim teste tabi tutun Unity içinde, ancak Visual Studio'da değil Unity, Unity test araçları (Unity Asset Store) kapsamında kendi birim testi çerçevesini sağlar. Birim testi sonuçları Unity içinde bildirilir ve Visual Studio'da gösterilmez.
Kodunuzu test etmek için UI otomasyonu kullanma Hayır Kodlanmış UI testleri, uygulamanın kullanıcı arabirimindeki okunabilir denetimlere dayanır; Unity uygulamaları doğası gereği grafik biçimindedir ve bu nedenle kodlanmış ui test araçları tarafından içerik okunamaz.

Kod kalitesini geliştirme

Başvuru bağlantısı: Kod kalitesini geliştirin

Özellik Unity ile desteklenir Ek Açıklamalar
yönetilen kod kalitesini analiz Evet Visual Studio'da C# betik kodunu analiz edebilir.
Kod klonu algılama kullanarak yinelenen kodu bulma Evet Visual Studio'da C# betik kodunu analiz edebilir.
Yönetilen kod karmaşıklığını ve sürdürülebilirliğini ölçme Evet Visual Studio'da C# betik kodunu analiz edebilir.
Performans araçları Hayır Unity Profiler (Unity web sitesi) kullanın.
.NET Framework bellek sorunlarını çözümleme Hayır Visual Studio araçlarının, Unity tarafından kullanılan Mono çerçevesiyle profil oluşturma için bir bağlantısı yoktur. Unity Profiler (Unity belgeleri) kullanın.

Sürüm yönetimi

Başvuru bağlantısı: Azure Pipelines ve TFS derleme ve yayımlama

Özellik Unity ile desteklenir Ek Açıklamalar
Yayın işlemlerini yönetme Evet
Betikler aracılığıyla yan yükleme için sunuculara dağıtım Evet
Uygulama mağazasına yükleme Kısmi Bazı uygulama mağazalarında bu işlemi otomatikleştirebilen uzantılar mevcuttur. Bkz. Azure DevOps Services içinUzantıları ; örneğin, Google Play içinuzantısı.

HockeyApp ile izleme

Referans bağlantısı: HockeyApp ile Monitör

Özellik Unity ile desteklenir Ek Açıklamalar
Çökme analizi, telemetri ve beta dağıtımı Evet HockeyApp öncelikle beta dağılımını işlemek ve kilitlenme raporlarını almak için yararlıdır.

C# betiklerinden telemetri için, Unity tarafından kullanılan .NET sürümünde çalışması koşuluyla herhangi bir analiz çerçevesi kullanmak mümkündür. Ancak bu, Unity motorunun içinde daha derinlemesine değil, yalnızca oyun betikleri içinde analize olanak tanır. Şu anda Application Insights için bir eklenti yoktur, ancak Unity Analytics ve Google Analyticsgibi diğer analiz çözümleri için eklentiler mevcuttur. Unity Analytics gibi bir Unity projesinin doğasını anlayan hizmetler elbette genel çerçevelerden çok daha anlamlı analizler sağlar.