Aracılığıyla paylaş


Derleme, dağıtma, test iş akışları için dağıtım betikleri oluşturma

Bir yapı-dağıtım-test iş akışı ile uygulamanızı dağıtmak için dağıtım betikleri oluşturmak ve bunları yapınız için eklemeniz gerekir.Dağıtım betikleri yapınız Laboratuvar ortamınızdaki makineler kopyalayın BAT veya CMD dosyalarıdır.Yapınızın bir yükleme paketi içeriyorsa, yükleme paketi çalıştırmak için dağıtım betikleri de kullanabilirsiniz.Yapı-dağıtım-test iş akışınıza oluşturduğunuzda, dağıtım betikleri çalışan iş akışına komutları ekleyin.İş akışınıza çalıştırdığınızda, yapı denetleyicisini Laboratuvar ortamınızdaki belirtilen makinelerde çalışma dizinini bu komutlarını çalıştırır.

See SCVMM ortamı için yapı derleme, dağıtma, test iş akışı oluşturma or Standart ortam için yapı derleme, dağıtma, test iş akışı oluşturma.Bu bölümler oluşturmak ve dağıtım betikleri, yapı-dağıtım-test iş akışı ile kullanmak nasıl ele almaktadır:

  • Yapı dosyalarını dağıtım için hazırlanıyor

  • Yazarken, dağıtım betikleri

  • Dağıtım komut dosyalarınızı oluşturma

  • Çalışma dizin kurma

  • İş akışınıza dağıtım betikleri ekleniyor

Gereksinimler

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Uzmanı

Yapı dosyalarını dağıtım için hazırlanıyor

Uygulamanızı yüklemek için seçtiğiniz yönteme gerçekleştirmek için dağıtım betikleri gereken birincil görevler belirler.Uygulamanızı yüklemeyi yalnızca bir istemci makine için bir EXE kopyalama gerektirebilir veya birden çok makinelerde dosyalarını yükler bir dağıtım paketi çalıştıran kapsayan.Aşağıdaki tabloda her dağıtım türü için bu görevler açıklanmaktadır.

Önemli notÖnemli

Uygulamanızı değil yüklü olan ve uygulamanızın dağıtılmadan önce dağıtım betikleri tarafından yapılandırılmış önkoşul yazılım ise Laboratuvar ortamınızdaki makineler hazırlarken, el ile yüklemeniz gerekir.Ortam anlık görüntüsü dağıtır bir SCVMM ortam kullanıyorsanız, anlık görüntüleri önkoşul yazılımı yüklü olduğundan emin olun.

Yükleme türü

Açıklama

Web hizmeti dağıtım paketi

Uyarı notuUyarı

IIS kullanan bir uygulama dağıtımı yapıyorsanız, IIS sunucu Laboratuvar ortamınızdaki Web Dağıtım Aracı hizmeti Uygulamanızı dağıtmadan önce yapılandırılmış olması gerekir

Dağıtım komut dosyalarınızı Laboratuvar ortamınızdaki hedef makinelere yapı dosyalarınızı ve dağıtım paketinizi kopyalayın ve dağıtım paketi çalıştırın.Bunu yapmak için bir etki alanı adı, bir hizmet hesabı adı ve bir TFS sunucu adı dağıtım komut için parametre olarak geçir gerekebilir.Bu yükleme türü genellikle el ile yükleyin ve uygulamanızı dağıtmadan önce bir web sunucusu veya veritabanı sunucusu gibi önkoşul yazılımı Yapılandır gerektirir.Yapılandırma önkoşul yazılım uygulaması dağıtımı hedef makinede etkinleştir belirli görevleri gerektirebilir.Örneğin, uygulamanızın IIS kullanıyorsa, IIS sunucusunun Laboratuvar ortamınızdaki Web Dağıtım Aracı hizmeti Uygulamanızı dağıtmadan önce yapılandırılmış olması gerekir.

Hiçbir yükleme paketi dosyalarıyla oluşturun

Dağıtım komut dosyalarınızı uygulamanızı kopyalayın ve dosyaları hedef makinelere Laboratuvar ortamınızdaki yapı gerekir.

Yükleme paketi

Uyarı notuUyarı

Bir yükleme paketi dağıtımı, yapı-dağıtım-test iş akışı ile yapıyorsanız, dağıtım betikleri Kurulum paketinizin çalıştıkları veya uygulama dağıtımınız başarısız olur üretilmiş herhangi bir kullanıcı giriş işlemelidir.

Dağıtım komut dosyalarınızı Kurulum paketinizin Laboratuvar ortamınızdaki hedef makinelere kopyalayın ve yükleme paketini çalıştırın.Dağıtım komut dosyalarınızı Kurulum paketinizin çalıştırdığınızda, sessiz yükleme olduğundan emin olmalısınız.Yükleme tarafından istenen kullanıcı girişi, dağıtım betikleri tarafından işlenen gerekir.Bu kimlik bilgileri içerir.Varsa, dağıtım betikleri tüm kullanıcı girişi işlememesi oluşturulan Kurulum paketinizin çalıştıkları, uygulama dağıtımınız başarısız olur.Bir web uygulaması dağıtımı değil ve bir yükleme paketinin dağıtım için ihtiyaç duyduğunuz, InstallShield yükleme paketi kullanmanızı öneririz.InstallShield hakkında daha fazla bilgi için bkz: Windows Installer Deployment.

Yazarken, dağıtım betikleri

Bu dağıtım betikleri tarafından gerçekleştirilen en yaygın görevleri şunlardır:

  • Yapı yolu, yapı denetleyicisine alın.Bu dağıtım komut için bir komut bağımsız değişken olarak gönderebilirsiniz.

  • Dağıtım yolu belirtin.

  • Dağıtım dizin oluşturun.Ayrıca, elle yerine bunu yapabilirsiniz dağıtım komut.Ön dağıtım ortamı anlık görüntü ile iş akışınıza kullanıyorsanız, anlık sanal makinelere dizini oluşturmak yeterlidir.

  • Dağıtım paketinizi yapı yoldan dağıtım yolunuzu kopyalayın.

  • Dağıtım paketi dağıtım dizininizde çalıştırın.

Aşağıdaki komutları dağıtım betikleri tarafından gerçekleştirilen bazı yaygın görevleri gösterir.

REM set build path
set buildlocation=%1

REM set deployment path
set targetdir="C:\deploy"

REM create deployment directory
if not exist %targetdir% (cmd /c mkdir %targetdir%)

REM copy build to the deployment directory
xcopy /c /y /e %buildlocation%\*.* %targetdir%

REM if you are using a deployment package you can run it here, after you copy it to your deployment directory

Dağıtım komut dosyalarınızı oluşturma

Dağıtım betikleri oluşturduktan sonra bunları sürüm denetimine ve böylece, yapı çıkışını için kopyalanan dosya bunları yapılandırmanız gerekir.Dağıtım betikleri oluşturmak için önce Visual Studio projenizi altında ve yalnızca, çözümünüzdeki depolanan emin olmanız gerekir.Visual Studio dağıtım kodunuzu seçerek bunu yapabilirsiniz Çözüm Gezginive sonra altında özellikleri, değişen kopyalama çıktı dizini için her zaman Kopyala.

Çalışma dizin kurma

Her bir yapı-dağıtım-test iş akışınıza eklediğiniz komutlar kümesi için bir çalışma dizini belirtebilirsiniz.Çalışma dizini belirttiğinizde, yapı denetleyicisinin bu rol atanacak olan her makinenin çalışma dizininde belirtilen komutların çalışır.Yapı-dağıtım-test iş akışınıza komutları eklediğinizde, çalışma dizinini belirtmezseniz, yapı denetleyicisini içinde varsayılan çalışma directory− komutları çalıştırınC:\Windows\System32.

Önemli notÖnemli

Yapı-dağıtım-test iş akışınıza eklediğiniz komutlar kullanarak çalışmaya dizinleri oluşturma; Bunu yaparsanız bu dizinlere dosyalarını kopyalamak, dağıtım betikleri denemeden önce dizinler oluşturulmaz.

Çalışma dizini belirtirseniz, dizin, dağıtım betikleri tüm dosyaları bu dizine kopyalayın önce oluşturulur emin olmalısınız.Çalışma dizini, yapı-dağıtım-test iş akışı için dağıtım betikleri eklemek için kullandığınız komutları ile oluşturma.Aksi takdirde dizinler dosyalarını kopyalamak, dağıtım betikleri denemeden önce dizinler oluşturulmaz.Çalışma dizini olduğundan emin olmak için dağıtım betikleri dosya kopyalamak, el ile dizini hedef makinelere Laboratuvar ortamınızdaki oluşturmalısınız veya herhangi bir komut dosyaları için kopyalar önce dizin, dağıtım betikleri tarafından oluşturulmalıdır önce oluşturulur.

İş akışınıza dağıtım betikleri ekleniyor

Windows shell komutları Laboratuvar ortamınızla uygulamanızı dağıtmak için yapı-dağıtım-test iş akışı ekleyin.Dağıtım betikleri kullanıyorsanız, komutları gerekir, dağıtım betikleri, yapı denetleyicisini hedef makinelere çalışma dizinini kopyalayın ve ardından dağıtım betikleri çalıştırın.Ancak, yalnızca birkaç dosya kopyalama çalışma dizinini içeren basit uygulama yüklemeleri için Kabuk komutları akışında dış dağıtım betikleri belirtmeden kullanabilirsiniz.

Bir windows isteminden gibi çalışan bir komut eklemek istiyorsanız, mkdir, veya bir toplu iş dosyasını çalıştırmak, komutu kullanarak başlamalıdır cmd /c.Örneğin, komut cmd /c $(BuildLocation)\copyexe $(BuildLocation) nerede copyexe toplu işlem dosyası dosyayı olduğundan, sanal makinede yerel bir dizine yürütülebilir bir dosyayı kopyalar.

Yerleşik değişkenleri: yapı-dağıtım-test iş akışınıza bu komutları eklediğinizde, belirli bir yol ve makineler tanımlamak için yerleşik değişkenlerini kullanabilirsiniz.Ayrıca, için dağıtım betikleri Bu değişkenler geçirebilirsiniz.

  • $(BuildLocation)
    Yapı dosyalarınızı yerleştirildiği tam yol ya da yapı bırakma konumu — yapı-dağıtım-test akışında yapılandırılmışsa.Bu değişken, yapı dosyalarınızı erişmek için kullanın.

  • $(InternalComputerName_ < VM adı >)
    SCVMM ortamdaki bir sanal makine için bilgisayar adı.Bu değişken, ana bilgisayar adını bilmiyorsanız, bir sanal makine konağı erişmek için kullanın.Bilgisayar adı gerektiren bir Web sunucusu kurmak için bir dağıtım komut dosyası varsa, bu komut dosyası için bir bağımsız değişken olarak geçirebilirsiniz.Örneğin, Web sunucusu için sanal makine adı VM1 ve bilgisayar adı MyWebServer idi, şunu yazın $(InternalComputerName_VM1) , komut dosyası ve bu bağımsız değişken değeri geçip geçmeyeceğini gibi MyWebServer , komut dosyası için.

  • $(ComputerName_ < VM adı >)

    [!NOT]

    Ağ yalıtım SCVMM ortamlarında: değerini, SCVMM ortamınız için kullandığınız ağ yalıtım $(InternalComputerName_<VM Name>) ortamınız, her bir kopyası sanal makinede örneği ile aynıdır ancak $(ComputerName_<VM Name>) değeri farklı.

    Sanal makine tam etki alanı adı.Bu değişken erişimi bir SCVMM ortam dışında bir bilgisayardan kullanın.Bu değişken bir Web sunucusu kurmak için bağımsız değişken olarak geçirmek isteyebilirsiniz.Web sunucusu için sanal makine adı VM1 ise, örneğin, sanal makinenin tam etki alanı adı ileterek erişebilirsiniz $(ComputerName_VM1) dağıtım komut bağımsız değişkeni.

Ayrıca bkz.

Kavramlar

Otomatikleştirilmiş derleme, dağıtma, test iş akışları