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

Başvuru bağlantısı: Çevik araçlar ve Çevik proje yönetimi hakkında (Her Yerde Ekip Gezgini dahil olmak üzere Azure Boards veya 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 Yorumlar
Kapsamları ve sprint'leri yönetme Evet
İş izleme Evet
Ekip odası işbirliği Evet
Kanban panoları Evet
İlerleme durumunu raporlama ve görselleştirme Evet

Modelleme

Başvuru bağlantısı: Mimariyi analiz etme ve modelleme

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 Yorumlar
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 Yorumlar
Team Foundation Sürüm Denetimi (TFVC) veya Azure Depoları 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 Geliştirme Evet
Kod değişikliklerini ve diğer geçmişi bulma Evet
Uygulamalarınızda hata ayıklamak için kod haritalarını 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 Bkz . Unity ile Dış Sürüm Denetim Sistemlerini Kullanma (Unity belgeleri).

  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 Proje Ayarlar klasörleri eklenmelidir, ancak Kitaplık ve Geçici klasörleri eklenmemelidir. Kaynak denetimine gitmeyen oluşturulan dosyaların ek listesi için StackOverflow'da Unity3D kaynak denetimi için Git nasıl kullanılır? tartışmasına bakın. 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 şişirilmiş olmasına 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).

Derleme

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

Özellik Unity ile desteklenir Ek Yorumlar
Şirket içi Team Foundation Server (TFS) Mümkün Unity projeleri, Visual Studio derleme sistemi aracılığıyla değil Unity ortamı aracılığıyla oluşturulur (Unity için Visual Studio Araçları içinde derlemek betikleri derler ancak yürütülebilir dosya oluşturmaz). Unity projelerini komut satırından (Unity belgeleri) oluşturmak 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 Git veya SVN deposunu izleyen ve düzenli derlemeler çalıştıran Unity Bulut Derlemesi sunar. Ş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. Yönergeler için bkz . Derleme ve yayın aracıları .
Azure DevOps Services'ın barındırılan denetleyici hizmeti Hayır Unity derlemeleri şu anda desteklenmiyor.
Ön ve son betiklerle 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 iadeler de dahil olmak üzere sürekli tümleştirme Evet Git, iadeler yerine bir çekme isteği modeli üzerinde çalıştığından TFVC için geçitli iadeler.

Test etme

Özellik Unity ile desteklenir Ek Yorumlar
Testleri planlama, test çalışmaları oluşturma ve test paketlerini düzenleme Evet
El ile test etme Evet
Test Yöneticisi (kayıt ve kayıttan yürütme 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 testi Unity içinde, ancak Visual Studio'da değil Unity, Unity test araçlarının (Unity Asset Store) bir parçası olarak kendi birim testi çerçevesini sağlar. Birim testi sonuçları Unity içinde bildirilir ve Visual Studio'da gösterilmez.
UI otomasyonunu kullanarak kodunuzu test etme 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ştirme

Özellik Unity ile desteklenir Ek Yorumlar
Yönetilen kod kalitesini analiz etme Evet Visual Studio'da C# betik kodunu analiz edebilir.
Kod kopyalama algılamayı kullanarak yinelenen kodu bulma Evet Visual Studio'da C# betik kodunu analiz edebilir.
Yönetilen kodun 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 profil oluşturma için Mono çerçevesine (Unity tarafından kullanıldığı gibi) kancaları yoktur. Unity Profiler'ı (Unity belgeleri) kullanın.

Sürüm yönetimi

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

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

HockeyApp ile izleme

Başvuru bağlantısı: HockeyApp ile izleme

Özellik Unity ile desteklenir Ek Yorumlar
Kilitlenme 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 altyapısının içinde daha derine değil, yalnızca oyun betikleri içinde analize olanak tanır. Şu anda Uygulama Analizler için bir eklenti yoktur, ancak Eklentiler Unity Analytics ve Google Analytics gibi diğer analiz çözümleri için kullanılabilir. Unity Analytics gibi bir Unity projesinin doğasını anlayan hizmetler elbette genel çerçevelerden çok daha anlamlı analizler sağlar.