O documento descreve como o Team Foundation Server da Microsoft pode automatizar o processo de implantação de versões de maneira segura e confiável através de recursos como o Release Management e o Chef. Apresenta também como essas ferramentas permitem rastrear completamente cada etapa do fluxo de trabalho de implantação.
É rotineiro, disponibilizarmos versões para implantação, e realizarmos implantações em diversos ambientes, mas conseguimos ter certeza que a versão implantada está correta?
Muitas empresas pelas quais passei, ou outras que conheço alguns desenvolvedores, executam Implantações manuais em seus ambientes , entretanto isso não é mais um processo aceitável, pois a probabilidade de ocorrer um erro, é muito grande.
Quando um processo é executado manualmente, ocorrerão erros todas as vezes que for executado, ele não pode ser repetido com segurança, e os erros de implantação são difíceis de se mapear.
Um processo de implantação manualmente, é tedioso, repetitivo, e exige alguém com alto grau de conhecimento, e fazer que alguém com esse conhecimento, fique executando algo tedioso e repetidamente, deixa a probabilidade de erros ainda maior.
Se você executa sua implantação manualmente, ela pode ter erros no processo, e acabar sendo mais trabalhosa de se fazer funcionar. Até mesmo porque, pode ter algo que pode ter algum processo que deve ser executado em determinado momento da implantação, e o operador se esquecer e só perceber isso quando forem testar o sistema, e ai, terá que se auditar oque foi esquecido, até lá, seu sistema estará rodando de “qualquer jeito” ou nem rodando.
Se você possui um processo automatizado, a probabilidade de erros diminui consideravelmente, pois o processo será executado exatamente como foi configurado previamente em um script de implantação, não é necessário alguém ficar disponível executando uma implantação
É um processo muito mais fácil e rápido de ser executado, já que todo o processo é executado automaticamente,
E sua equipe pode ter foco, em que é realmente necessário, focar no desenvolvimento, focar em testar, em fim, podem ter foco onde forem melhor aproveitados.
A Microsoft possui uma solução em automatização de implantações, conheçam o >>>>mudar
Release Management
O Release Management funciona como um orquestrador de implantações, onde você configura o seu ambiente, seja local ou na nuvem com o Microsoft Azure e também os processos que devem ser executados em sua implantação .
Permite que você configure os processos executados em cada servidor, em sua rede local e/ou no Microsoft Azure
O interessante no Release Management, é que você utiliza Scripts para executar os processos de implantação, e também a ferramenta não se restringe apenas a ambientes Windows.
Caso você tenha um ambiente inteiramente Windows, você pode utilizar Scritps PowerShell para suas automações, já caso você utilize ambientes Hibridos, você pode utilizar o Chef para gerar seus scripts.
Com o PowerShell DSC, você pode fazer uma série de verificações na máquina onde será implantado, como por exemplo, se o IIS está instalado, se o Asp.Net está instalado, etc, e isso tudo será executado remotamente através do recurso remoto do PowerShell
Os Scripts do PowerShell, ficam armazenados junto com o Código Fonte da aplicação, podendo assim, ser versionado juntamente com a mesma, e caso você queira saber como foi executada uma implantação a 6 meses atrás, é possível, graças ao versionamento do Script.
Você pode automatizar o deploy em cada um dos seus ambientes
A automação, fica disponivel em todos os estagios da implantação, seja ele em ambiente de dev, integração, qa, produção
Com o RM você pode automatizar seus Workflows para cada ambiente.
E também lhe permite toda rastreabilidade da implantação, desde a build do TFS, até a implantação em cada ambiente
O RM funciona da Seguinte maneira:
1- O TFS roda a build, e disponibiliza os drops em algum diretório
2 – O RM pega esses drops, e executa as implantações nos ambientes, de acordo com o Workflow criado, e pode se utilizar tanto do PowerShell(ambientes 100% Windows) quanto do Chef (Ambientes Hibridos)
3 – O Implantador pode acompanhar o processo de implantação e/ou criar Workflows e aprovações apartir da interface web, ou client na maquina.