Takım Derleme Dağıtımı İzinlerini Yapılandırma

tarafından Jason Lee

Bu konuda, derleme sunucunuzun otomatik derleme işleminin bir parçası olarak web sunucularına ve veritabanı sunucularına içerik dağıtmasını sağlamak için izinlerin nasıl yapılandırılacağı açıklanmaktadır.

Bu konu, Fabrikam, Inc adlı kurgusal bir şirketin kurumsal dağıtım gereksinimlerini temel alan bir dizi öğreticinin bir parçasını oluşturur. Bu öğretici serisinde, ASP.NET MVC 3 uygulaması, Windows Communication Foundation (WCF) hizmeti ve veritabanı projesi dahil olmak üzere gerçekçi bir karmaşıklık düzeyine sahip bir web uygulamasını temsil etmek için örnek bir çözüm (Contact Manager çözümü) kullanılır.

Bu öğreticilerin temelindeki dağıtım yöntemi, derleme işleminin iki proje dosyası tarafından denetlendiği Proje Dosyasını Anlama bölümünde açıklanan bölünmüş proje dosyası yaklaşımını temel alır: biri her hedef ortama uygulanan derleme yönergelerini, diğeri de ortama özgü derleme ve dağıtım ayarlarını içerir. Derleme zamanında, ortama özgü proje dosyası, tam bir derleme yönergeleri kümesi oluşturmak için ortama bağımsız proje dosyasıyla birleştirilir.

Göreve Genel Bakış

Team Foundation Server (TFS) 2010 derleme hizmetini yüklediğinizde, hizmetin hangi kimlikle çalışmasını istediğinizi belirtirsiniz. Bu, varsayılan olarak Ağ Hizmeti hesabıdır. Alternatif olarak, derleme hizmetini bir etki alanı hesabı kullanarak çalışacak şekilde yapılandırabilirsiniz.

Windows kimlik doğrulaması gerektiren ve Team Build kullanarak otomatikleştirmeyi planladığınız tüm dağıtım görevleri, derleme hizmeti kimliği kullanılarak çalıştırılır. Bu nedenle, derleme hizmeti kimliğine web sunucularınızda ve veritabanı sunucularınızda gerekli izinleri vermeniz gerekir.

Not

Ağ Hizmeti hesabı, diğer bilgisayarlarda kimlik doğrulaması yapmak için makine hesabını kullanır. Makine hesapları [etki alanı adı][makine adı]$ biçimindedir; örneğin, FABRIKAM\TFSBUILD$. Bu nedenle, derleme hizmetiniz Ağ Hizmeti kimliği kullanılarak çalıştırılırsa, derleme sunucunuz için makine hesabı kimliğine gerekli izinleri vermelisiniz.

Web Sunucusu İzinlerini Yapılandırma

Web Dağıtımına Doğru Yaklaşımı Seçme bölümünde açıklandığı gibi, web paketlerini uzak bir web sunucusuna dağıtmak istiyorsanız kullanabileceğiniz iki ana yaklaşım vardır:

  • Hedef sunucuda Web Deployment Agent Hizmeti'ni (uzak aracı olarak da bilinir) hedefleyerek uygulamayı uzak bir konumdan dağıtın.
  • Hedef sunucuda Internet Information Services (IIS) Web Dağıtımı İşleyicisi'ni hedefleyerek uygulamayı uzak bir konumdan dağıtın.

Uzak aracının bu durumda iki önemli sınırlaması vardır:

  • Uzak aracı yalnızca NTLM kimlik doğrulamasını destekler. Başka bir deyişle, dağıtımın derleme hizmeti kimliğini kullanması gerekir; başka bir hesabın kimliğine bürünemezsiniz.
  • Uzak aracıyı kullanmak için, dağıtımı gerçekleştiren hesabın hedef sunucuda yönetici olması gerekir.

Bu iki sınırlama birlikte, uzak aracı yaklaşımını otomatik takım derleme dağıtımı için istenmeyen hale getirir. Bu yaklaşımı kullanmak için derleme hizmeti hesabını herhangi bir hedef web sunucusunda yönetici yapmanız gerekir.

Buna karşılık, Web Dağıtımı İşleyicisi yaklaşımı çeşitli avantajlar sunar:

  • Web Dağıtımı İşleyicisi, ALTERNATIF bir hesabın kimlik bilgilerini IIS Web Dağıtım Aracı'na (Web Dağıtımı) geçirmenizi sağlayan HTTPS üzerinden temel kimlik doğrulamasını destekler.
  • Hedef web sunucularını, yönetici olmayan kullanıcıların Web Dağıtımı İşleyicisi'ni kullanarak belirli IIS web sitelerine içerik dağıtmasına izin verecek şekilde yapılandırabilirsiniz.

Sonuç olarak, Team Build'den web paketi dağıtımını otomatikleştirirken Web Dağıtımı İşleyicisi'ni hedeflemek açıkça tercih edilir. Önerilen işlem budur:

  1. Dağıtım için kullanılacak düşük ayrıcalıklı bir etki alanı hesabı oluşturun.
  2. Web Dağıtımı İşleyicisi'ni yapılandırın ve hesaba, Web Dağıtımı Yayımlaması için Web Sunucusu Yapılandırma (Web Dağıtımı İşleyicisi) bölümünde açıklandığı gibi, belirli bir IIS web sitesine içerik dağıtmak için gerekli izinleri verin.
  3. Web Dağıtımı'nı çağırın ve dağıtımı gerçekleştirmek için temel kimlik doğrulamasını kullanarak ve oluşturduğunuz etki alanı hesabının kimlik bilgilerini sağlayarak Web Dağıtımı İşleyicisi'ni hedefleyin.

Contact Manager örnek çözümünde, kimlik doğrulama türünü (temel veya NTLM), Web Dağıtımı kimlik bilgilerini ve ortama özgü proje dosyasında uç nokta adresini (uzak aracı veya Web Dağıtımı İşleyicisi) belirtirsiniz. Bu değerler, proje dosyası yürütürken bir Web Dağıtımı komutunu formüle etmek ve çalıştırmak için kullanılır. Daha fazla bilgi için bkz. Web Paketlerini Dağıtma.

İzinlerin nasıl yapılandırılacağı da dahil olmak üzere Web Dağıtımı İşleyicisi'ni yapılandırma hakkında daha fazla bilgi için bkz. Web Dağıtımı Yayımlama için Web Sunucusu Yapılandırma (Web Dağıtımı İşleyicisi). Uzak aracıyı yapılandırma hakkında daha fazla bilgi için bkz. Web Sunucusunu Web Dağıtımı Yayımlama (Uzak Aracı) için Yapılandırma.

Veritabanı Sunucusu İzinlerini Yapılandırma

Veritabanını SQL Server dağıtmak için şunları yapın:

  • SQL Server örneğinde dağıtım hesabı için oturum açma bilgileri oluşturun.
  • SQL Server örneğinde oturum açma DBCreator izinlerini verin.
  • İlk dağıtımdan sonra oturum açma bilgilerini hedef veritabanındaki db_owner rolüne ekleyin. Sonraki dağıtımlarda yeni bir veritabanı oluşturmak yerine var olan bir veritabanını değiştirdiğiniz için bu gereklidir.

NTLM kimlik doğrulamasını veya SQL Server kimlik doğrulamasını kullanarak bir SQL Server örneğinde kimlik doğrulaması yapabilirsiniz:

  • NTLM kimlik doğrulamasını kullanıyorsanız, yukarıda açıklanan izinleri derleme hizmeti hesabına vermeniz gerekir.
  • SQL Server kimlik doğrulaması kullanıyorsanız, yukarıda açıklanan izinleri SQL Server hesabına vermeniz gerekir. Veritabanını dağıtmak için kullandığınız bağlantı dizesine SQL Server kullanıcı adını ve parolasını da eklemeniz gerekir.

Veritabanı dağıtımı izinlerinin nasıl yapılandırılacağına ilişkin adım adım ayrıntılar için bkz. Web Dağıtımı Yayımlama için Veritabanı Sunucusu Yapılandırma.

Sonuç

Bu noktada, Team Build'den web uygulaması ve veritabanı dağıtımlarını otomatikleştirirken size açık olan kimlik doğrulama seçenekleriyle birlikte gerekli izinleri anlamanız gerekir. Ayrıca IIS web sunucularında ve SQL Server veritabanı sunucularında gerekli izinleri uygulayabilmeniz gerekir.

Daha Fazla Bilgi

Windows sunucu ortamlarını uzaktan dağıtımı destekleyecek şekilde yapılandırma hakkında daha fazla bilgi için bkz. Web Dağıtımı için Sunucu Ortamlarını Yapılandırma.