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).