Agora que já temos o pacote do nosso WebSite compilando, vamos realizar o deploy da solução em um servidor de homologação.

Antes de adicionarmos a tarefa de Deploy, vamos tirar dois itens que estão fixos no nosso comando e que o ideal é que pudessemos entrar com valores, assim quando formos utilizar essa build em outro team project, basta configurar os parametros na Build Definition e ele também iria funcionar.

Para criar esse parametros, basta usarmos as abas de configuração do DefaultTemplate.xaml (as abas ficam na parte de baixo do workflow) e mais algumas informações irão aparecer.

image

Vamos criar 3 parametros:

1 – Informando qual é o nome do website que queremos publicar. Esse é o nome que foi dado na criação do website no Visual Studio. Tem que ser exatamente igual.

2 – Informando qual é o diretório onde o pacote será escrito. Lembre que esse diretório o usuário do Team Build deverá ter acesso.

3 – Nome do pacote que iremos gerar.

Clique na última linha para criar esses parametros.

  • NmWebSite
  • Diretorio
  • NmPacote

Agora vamos fazer os parametros aparecerem na tela da Build Definition

Na lista de parametros, vamos procurar o argumento Metadata. Ele é um argumento especial que nos permite criar parametros na área de Process de uma build definition. Ao achar o parametro, clique no ícone para abria a janela de configuração.

image

Na janela, iremos clicar no botão Add e preencher o formulario com os seguintes valores:

image

  • Parameter Name : É o nome do parametro que ficará acessível para utilizarmos nas atividade do workflow
  • Display Name: É o nome que aparecerá na Build Definition
  • Category: Nome da categoria que será criada para armazenar os parametros que criarmos

Parameter Name

Display Name

Category

View This parameter When
NmWebSite Nome do Web Site Conf de Publicacao Always Show the Parameter
Diretorio Diretorio do Pacote Conf de Publicacao Always Show the Parameter
NmPacote Nome do Pacote Conf de Publicacao Always Show the Parameter

Fazendo o check-in do template e abrindo novamente a nossa Build Definition, encontraremos os nossos parametros.

image

Agora vamos alterar a nossa tarefa de criação do pacote. Vamos alterar o valor do Arguments para :

Arguments: String.Format(“-verb:sync -source:contentPath=””{0}\_PublishedWebSites\{1}\”” -dest:package=””{2}\{3}”” “, BinariesDirectory, NmWebSite, Diretorio, NmPacote)

Vamos criar mais 2 parametros, esse conterão informações sobre onde iremos fazer o Deploy. Siga os procedimentos acima para criar mais esses dois parametros e coloque no mesmo grupo.

  • ServidorDeploy
  • IISPathServidorDeploy

Com o nosso pacote criado e os novos parametros configurados, vamos adicionar a tarefa que vai realizar o deploy.

Para isso, arraste outra tarefa de Invoke Process para ficar logo abaixo da tarefa de criação do pacote e a configure com os seguintes parametros:

Arguments: String.Format(“-verb:sync -source:package=””{0}\{1}”” -dest:contentPath=””{2}””,computername=””{3}/MsDeployAgentService”” -allowUntrusted “, Diretorio, NmPacote, IISPathServidorDeploy, ServidorDeploy )

DisplayName: Deploy do Pacote

FileName: String.Format(” “”c:\Program Files\IIS\Microsoft Web Deploy V2\MSDeploy.exe”” “)

Preencha os novos parametros na build definition e execute uma build para ver a solução funcionando.

image

E pronto! com isso o seu Website será publicado no servidor indicado!

Claudio Leite

Claudio Leite é consultor de ALM da Lambda3, Visual Studio ALM Ranger, PSD, PSM I e PSM II. Graduado em Ciência da Computação pela Universidade Católica de Petrópolis, MBA e POS-MBA em Gestão de Projetos pela Fundação Getúlio Vargas. Twitter: @claudiobernardo