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:
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).
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ı.
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. |