Integração contínua - implantação
Compilações automatizadas e compilações repetíveis. Testes automatizados e testes repetíveis. Categorias e frequências de teste. Inspeções contínuas. Integração contínua de banco de dados. Essa sequência de tarefas na criação de um ambiente de CI eficaz permite principalmente um benefício importante: o lançamento de um software funcional a qualquer momento, em qualquer ambiente.
Em nossos capítulos anteriores, realizamos todos os segmentos a seguir -
- Criou nosso código.
- Garantiu uma construção adequada no TeamCity.
- Criou um processo de integração de banco de dados.
- Teste realizado com sucesso.
Agora só falta fazer uma implantação automatizada, para que todo o nosso processo seja concluído.
Para uma implantação automatizada em nosso caso, precisamos seguir estas etapas -
Em nosso servidor de implantação, verifique se o IIS está instalado.
Certifique-se de que o usuário IIS tenha acesso ao nosso banco de dados.
Crie um perfil de publicação que será usado para publicar o site quando ele for construído.
Certifique-se de alterar nosso comando MSBuild para fazer uma implantação automática.
Automatize o TeamCity para fazer uma publicação automática.
Faça um git commit para garantir que todos os seus arquivos estejam no Git.
Step 1- Configure um servidor IIS local. Se você tiver um servidor IIS local ou remoto, a seguinte configuração pode ser realizada para implantar nosso aplicativo. É sempre uma boa prática ver se uma implantação pode ser feita manualmente antes de ser feita de forma automatizada.
Step 2 - Em um servidor Windows 2012, vá para o Gerenciador do servidor e clique em Adicionar funções e recursos.
Step 3 - Clique em Avançar na tela seguinte que aparece.
Step 4 - Escolha a instalação baseada em funções ou recursos na próxima tela e clique em Avançar.
Step 5 - Selecione o servidor padrão e clique em Avançar.
Step 6 - Escolha a função do servidor Web e clique em Avançar.
Step 7 - Na próxima tela que aparecer, clique em Avançar.
Step 8 - Clique em Avançar novamente na tela a seguir que aparece.
Step 9 - Na próxima tela que aparecer, clique em Avançar.
Step 10 - Na tela final, você pode clicar no botão Instalar para instalar o IIS.
Depois de instalar o IIS, você pode abri-lo abrindo os Serviços de Informações da Internet.
Step 11 - Clique em pools de aplicativos, você verá um pool com o nome de DefaultAppPool. Isso precisa ter acesso ao SQL Server na próxima etapa.
Step 12 - Se precisarmos conectar um aplicativo ASP.Net a um aplicativo MS SQL Server, temos que dar acesso ao pool de aplicativos padrão para a instância do SQL Server, para que ele possa se conectar ao nosso Demodb base de dados.
Step 13- Abra o SQL Server Management Studio. Vá para Logins, clique com o botão direito e escolha a opção do menuNew Login.
Na próxima tela, atualize os seguintes parâmetros e clique em OK.
- Nome de login como IIS APPPOOL \ DefaultAppPool.
- Banco de dados padrão - este deve ser nosso banco de dados, que é demodb.
Step 14 - Criando um Publish Profile. O perfil de publicação é usado no Visual Studio para criar um pacote de implantação que pode ser usado com o MS Build e em qualquer CI Server de acordo. Para fazer isso, a partir do Visual Studio, clique com o botão direito do mouse no projeto e clique na opção de menu Publicar
Step 15 - Na próxima tela que aparecer, escolha criar um novo perfil de Publicação, dê um nome a ele - DemoDeployment. Em seguida, clique no botão Avançar.
Na tela seguinte que aparece, adicione os seguintes valores -
- Escolha o método Publish como Web Deploy.
- Insira o servidor como localhost.
- Insira o nome do site como Site / Demo padrão.
- Coloque o url de destino como http://localhost/Demo
Em seguida, clique no botão Avançar.
Step 16 - Na próxima tela, clique em Avançar.
Step 17 - Na tela final que aparece, clique no botão Publicar.
Agora se você for ao C:\Demo\Simple\Properties\PublishProfiles localização do seu projeto, você verá um novo publish profile xml filecriada. Este arquivo de perfil de publicação terá todos os detalhes necessários para publicar seu aplicativo no servidor IIS local.
Step 18- Agora vamos personalizar nosso comando MSBuild e usar o perfil de publicação acima e ver o que acontece. Em nosso comando MSBuild, especificamos os seguintes parâmetros -
Implantar na construção é verdadeiro - isso acionará uma implantação automática quando uma construção bem-sucedida for concluída.
Em seguida, estamos mencionando o uso do perfil Publicar que foi usado na etapa acima.
A versão do Visual Studio deve ser mencionada apenas no recurso de implantação do MSBuild sobre qual é a versão do Visual Studio que está sendo usada.
Quando você executa o comando acima, o MSBuild aciona um processo de construção e implantação. O que você notará, é implantá-lo em nossoDefault Website em nosso servidor IIS.
Agora, se navegarmos até o site - http://localhost/Demo/Demo.aspx veremos a seguinte saída, o que significa que o MSBuild fez uma implantação bem-sucedida em nosso site.
Step 19 - Automatização através do TeamCity - Agora é hora de adicionar uma tarefa ao nosso servidor TeamCity para usar o MSBuild automaticamente para implantar nosso aplicativo, com base nas etapas acima mencionadas.
Step 20 - Vá para o painel do seu projeto e clique em Edit Configuration Settings.
Step 21 - Vá para Etapas de construção e clique em Adicionar uma etapa de construção.
Escolha as seguintes opções -
O tipo de corredor deve ser MSBuild
Dê um nome de etapa opcional
Insira o caminho de construção como Simple / Simple.csproj
Mantenha a versão do MSBuild como Microsoft Build Tools 2013
Mantenha a versão do MSBuild Tools como 12.0
Coloque a linha de comando como / p: DeployOnBuild = true / p: PublishProfile = DemoDeployement / p: VisualStudioVersion = 12.0
Step 22 - Clique em Salvar.
Certifique-se de que nas etapas de construção, a etapa Implementar seja a última etapa da cadeia.
Step 23 - Agora vamos fazer uma final git commit, para garantir que todos os arquivos estejam no Git e possam ser usados pelo TeamCity.
Parabéns, você configurou com sucesso um Ciclo de Integração Contínua completo para seu aplicativo, que pode ser executado a qualquer momento.