Maneira apropriada de implementar o ASP.net no servidor web de produção

5

Veja como me disseram para implantar meu site / programa \ asp.net (principalmente intranet) no servidor web de produção da minha empresa.

  1. Altere as configurações necessárias no web.config para o servidor da web de produção.
  2. Copie TUDO dos meus códigos-fonte e cole na pasta \ diretório virtual designado no servidor web.

Tanto quanto eu sei, eu deveria estar:

  1. usando o Publish.. ou Publish Web Site no Visual Studio para gerar os códigos.
  2. Copie os códigos gerados para a pasta \ diretório virtual designada no servidor da web.

Qual é o melhor método de implementação?

Quais são os prós e contras contras desses dois métodos de implantação?

Existe uma maneira padrão (para o homem pobre ou barato) de fazer isso?

    
por Pop 21.07.2016 / 06:02
fonte

1 resposta

5

Da minha experiência dolorosa, quanto mais o processo de implantação estiver sendo feito manualmente, maiores serão os problemas que você enfrentará. E ambos os seus passos atuais exigem esforço manual pesado. Aqui estão minhas recomendações:

1. Use a funcionalidade de publicação do VS como seu mínimo

O primeiro passo para ter um processo de implantação automatizado é, como você sabe, usar a funcionalidade Publicar no Visual Studio. Com a configuração correta da transformação XML, essa funcionalidade lidará com as alterações necessárias no web.config (e em outros arquivos de configuração baseados em XML).

Idealmente, se você tiver acesso ao servidor de produção, poderá segmentar o site Publicar no site do servidor de produção. Isso fará a cópia / colagem para você. Caso contrário, direcione para uma pasta isolada em seu sistema (que você nunca irá confundir com a pasta do código-fonte).

2. Empregar integração contínua (CI) e implantação contínua (CD)

Isso pode ser um exagero para pequenos projetos que são mantidos principalmente pelo desenvolvedor único. Mas CI / CD é o caminho a percorrer se o seu projeto evoluir para um monstro. Aqui estão os indicadores para começar a usar CI / CD:

  • Seu projeto e a equipe trabalhando nele tornam-se grandes o suficiente para que você literalmente não possa testar manualmente todos os aspectos do site sempre que novas alterações forem introduzidas = > Você precisa de um teste automatizado e precisa ser feito sempre que alguém fizer uma alteração.

  • Agora você tem vários ambientes para implantar (dev, teste, UAT, produção, o nome dele). Embora a criação do perfil Publicar para cada um deles ainda seja viável, saber quando você deve implantar em um ambiente específico se tornará complicado (digamos, implante somente na produção se todos os testes forem aprovados em outros ambientes e seu chefe - também conhecido como cliente) feliz com o UAT).

  • Você precisa da capacidade de reverter sua implantação. Veja como é legal? O CD pode literalmente poupar horas quando algo vai para o sul com sua mais nova implantação com apenas um clique de botão.

  • Você deseja manter os dados de configuração confidenciais do check-in para o controle de origem (digamos que você não queira expor a cadeia de conexão ao seu banco de dados de produção a um desenvolvedor júnior recém-contratado). O fluxo de trabalho com a transformação VS Publish + XML dificulta isso.

Existem muitas ferramentas de CI / CD para você começar, algumas delas são GRATUITAS. Atualmente estou feliz com o TeamCity for CI e o Octopus Deploy for CD (ambos são gratuitos para pequenas equipes).

    
por 22.07.2016 / 04:23
fonte