Özel yapı işlemi etkinlikleri kullanma ve geliştirme
Özel bir yapı işlemi şablonu oluşturduktan sonra, Windows Workflow yönergelerini ve yerleşik Team Foundation Yapısı (TFBuild) etkinliklerini kullanarak kendi iş mantığınızı uygulayabilirsiniz.Bu araçlar yeterli değilse, üçüncü tarafların etkinliklerini kullanabilir veya gerekirse CodeActivity öğesinde kendi .NET Framework kodunuzu uygulayabilirsiniz.
|
Özel bir yapı işlemi etkinliği oluşturma
Önemli |
---|
Başlamadan önce, şablonun bir kopyasını alın ve bir kod projesine yerleştirin.Bunu henüz yapmadıysanız, aşağıda nasıl yapılacağını görebilirsiniz. Yapı işlemi etkinliğinizi yapı işlemi şablonlarınızla aynı çözümde geliştirmeniz gerekir.Bu şekilde çalışarak, işlem şablonunuzda etkinliklerinizden birini kullanmanız gerektiğinde, etkinlik iş akışı tasarımcısı araç kutusunda kullanılabilir.Ancak, etkinliklerinizin kaynak kodunu yapı işlemi şablonlarınızı içeren projeden farklı bir kod projesinde tutmanız gerekir. |
Yapı işlemi şablonu kod projenizi içeren çözüme yeni bir C# veya Visual Basic kod projesi ekleyin.
Yeni kod projenize aşağıdaki başvuruları ekleyin:
Bu başvuruları kod projesine nasıl ekleyebilirim?
Kod projesini kaydedin.
Projeye yeni bir etkinlik ekleyin.
CodeActivity uygulayın. Örneğin, Hello.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Activities; using Microsoft.TeamFoundation.Build.Workflow.Activities; using Microsoft.TeamFoundation.Build.Client; using Microsoft.TeamFoundation.Build.Workflow.Tracking; namespace BuildProcessSource { // enable the build process template to load the activity [BuildActivity(HostEnvironmentOption.All)] // keep the internal activity operations from appearing in the log [ActivityTracking(ActivityTrackingOption.ActivityOnly)] public sealed class Hello : CodeActivity { // Define an activity input argument of type string public InArgument<string> SayHelloTo { get; set; } // If your activity returns a value, derive from CodeActivity<TResult> // and return the value from the Execute method. protected override void Execute(CodeActivityContext context) { // Obtain the runtime value of the Text input argument string text = context.GetValue(this.SayHelloTo); // Add our default value if we did not get one if (text == null || text == "") { text = "World"; } // Write the message to the log context.TrackBuildWarning("Hello " + text, BuildMessageImportance.High); } } }
Activity1.xaml dosyasına ihtiyacınız yoktur, bu nedenle isterseniz silebilirsiniz.
Visual Studio'da çözümünüzü oluşturun (Klavye: Ctrl + Shift + B).
İşiniz bittiğinde, çözümünüz şöyle görünmelidir:
Yapı işlemi şablonunuzu düzenleme
Çözümünüzden, yapı işlem şablonunuzu etkinlikleri ona sürükleyerek düzenleyin.Etkinlik şablona eklendikten sonra, özelliklerini ayarlayın (Klavye: F4).
İşiniz bittiğinde, şablonu kaydedin.
Özel yapı işleminizin karşıya yükleme
Özel yapı işlemi şablonunuzu ve etkinliğinizi kullanan bir yapı tanımlayabilmeniz için önce bunları karşıya yüklemeniz ve etkinleştirmeniz gerekir.
TFVC takım projesinde özel yapı işleminizi karşıya yükleme ve etkinleştirme
Git takım projesinde özel yapı işleminizi karşıya yükleme ve etkinleştirme
TFVC takım projesinde özel yapı işleminizi karşıya yükleme
TFVC takım projesinde:
Çözümünüzü (Klavye Ctrl + Shift + B) oluşturduğunuzdan emin olun.
Yapı işlemi kaynağınızı depolamayı planladığınız yerde takım projesine bağlanın (Klavye: Ctrl + 0, C).
Kaynak Denetimi Gezgini'nden etkinlik kodu projenizi içeren klasöre öğeler ekleyin.
.dll dosyasını içeren klasörü bulun ve seçin.Örneğin, C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Source\bin\Debug.
Dosya ekleme işlemini tamamlayın.
Değişikliklerinizi iade edin.
Git takım projesinde özel yapı işleminizi karşıya yükleme
Git takım projesinde:
Önemli:
İkili dosyaların (özellikle de büyük dosyalarda yapılan çok sayıda düzeltmenin) depolanması Git deponuzun boyutunu şişirebilir.Özel yapı işlemi ikili dosyalarınızı, uygulamanızı oluşturduğunuz kodda ayrı olan bir depoda depolamanızı öneririz.Bu amaç için ayrı bir takım projesi oluşturabilir veya varolan takım projenizde ek bir depo oluşturabilirsiniz.
İkili dosyalarınızı Git deposundaki bir alt klasörde depolamanız gerekir.İkili dosyaları kök klasöründe kullanmayı denerseniz, git dalı bulunamadı hata iletisi tarafından engellenebilirsiniz.
Çözümünüzü (Klavye Ctrl + Shift + B) oluşturduğunuzdan emin olun.
Yapı işlemi kaynağınızı depolamayı planladığınız yerde takım projesine bağlanın (Klavye: Ctrl + 0, C).
Git komut istemini açın.
S: Komut istemini açamıyorum. Ne yapmam gerekir?Y:Git komut istemini etkinleştirin.
.dll dosyasını eklemek için Git komut istemini kullanın.Örneğin:
cd c:\users\YourName\source\repos\BuildProcesses\BuildProcessSource\Source\bin\Debug git add Source.dll -f
Değişikliklerinizi kaydedin.
Kaydınızı eşitleyin veya gönderin.
Özel yapı işleminizi etkinleştirme
Özel yapı işleminizi çalıştırmak için önce yapı denetleyicisini TFS'ye yüklediğiniz ikili dosyalara yöneltmeniz ve yapı tanımınızda yapı işlemi şablonunu seçmeniz gerekir.
Yapılar sayfasında (Klavye: Ctrl + 0, B) Eylemler'i ve ardından Yapı Denetleyicilerini Yönet'i seçin.
Yapı Denetleyicilerini Yönet iletişim kutusunda, bu yapı işlemini çalıştırmak için kullanacağınız denetleyiciyi vurgulayın ve Özellikler'i seçin.
Özel derlemelerin sürüm denetimi yolunu belirtin.
Yukarıdaki adımlarda yapı işleminizi yüklediğiniz klasörün üstü olan bir klasöre göz atın.
TFVC örneği: $/FabrikamTFVC/BuildProcessTemplates/BuildProcessSource/Source/bin/Debug
Git örneği: BuildProcessSource/Source/Bin/Debug
Sistem girdiğiniz değeri otomatik olarak vstfs yoluna dönüştürür.Örneğin: vstfs:///Git/VersionedItem/FabrikamGit/BuildProcesses/master/BuildProcessSource/Source/Bin/Debug.
Henüz yapmadıysanız, bir yapı tanımı oluşturun veya değiştirin ve özel yapı işlemi şablonunuzu seçin.
Yapıyı çalıştırma
Yapıyı sıraya alın.Sonuç şöyle görünmelidir:
Soru - Yanıt
S: İznim olmadığı için sistem tarafından engellendim.Nasıl izin alabilirim?
Y: Team Foundation Server izinleri
S: TFBuild iş akışı ile çalışmak için ihtiyacım olan başvuruları nasıl ekleyebilirim?
Y: Başvuruları eklemek için başvuru yöneticisini kullanın
Kod projesi başvurularını görüntüleyin ve başvuru yöneticisini açın.
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0 yoluna göz atın ve şunu seçip ekleyin:
S: Özel yapı işlemimde neler hatalara neden oluyor?
Y:Hataların bazı yaygın nedenleri.
S: Windows Workflow Foundation nedir?Bunu nasıl kullanabilirim?
A:Windows Workflow Foundation.
S: Yerleşik etkinlikler hakkında nereden bilgi alabilirim?
Y:Team Foundation Yapısı etkinlikleri
S: Yapı işlem şablonlarını, iş akışı etkinlikleri ve betikleri nereden alabilirim?
A:Community TFS Build Extensions
S: Özel işlem şablonları geliştirme hakkında nereden daha fazla bilgi alabilirim?
A:Curated answer: Customize your Team Foundation Build process