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.
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.
Na janela, iremos clicar no botão Add e preencher o formulario com os seguintes valores:
- 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.
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.
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