Introdução

É comum durante o desenvolvimento de um software a constante release de versões do mesmo, ainda mais trabalhando com alguma metodologia ágil, onde temos releases mais curtas.

Durante o desenvolvimento, também é muito comum versionar o código, e dentre as várias ferramentas que temos, o GIT e o TFS são duas delas.

O Windows Azure permite a ligação de um Website diretamente com um repositório, seja ele no GitHub, BitBucket, TFS ou até mesmo um repositório local (On cloud) no Windows Azure.

Criando um novo Website

Acessando o Windows Azure Management Portal, selecione Websites na lateral direita, em seguida clique em Novo e complete a criação do Website, como mostrado no exemplo abaixo.

Integrando o Website com um Repositório

A integração com os repositórios sempre será feita da mesma maneira, bastando clicar sobre a opção Configurar a Implantação a partir do Controle de Origem, conforme mostrado abaixo.

Feito isto, uma nova janela se abrirá, com a opção de se conectar a um repositório como GitHub, BitBucket ou TFS, bem como criar um repositório local.

Conectando-se a um repositório (Git, BitBucket, TFS)

Tanto para se conectar com Git, BitBucket ou TFS, basta seguir o processo de autenticação, selecionar o projeto e a branch que a ser implantada, conforme mostrado no exemplo abaixo:

Este tipo de integração é mais simples pelo fato do repositório já estar criado, tudo estar nos conformes.

Utilizando um repositório do Windows Azure

Uma opção fantástica do Windows Azure é a possibilidade de criar repositórios diretamente nos Websites, com suporte ao GIT.

Clicando na opção Configurar a Implantação a partir do Controle de Origem e selecionando Repositório GIT local, em poucos instantes um repositório é criado.

  

Para prosseguir, é necessário o GIT instalado.

Clonando o repositório

Crie uma nova pasta, onde ficará seu projeto, clique com o botão direito e selecione a opção GIT Bash, para que uma nova janela do GIT seja aberta.

Após criado o repositório, o Windows Azure já deixa algumas instruções na tela, e dentre elas a URL para clonar o repositório criado.

Copie a URL do repositório, e na janela do GIT aberta, cole a instrução do GIT CLONE, conforme mostrado no exemplo abaixo:

De imediato, uma senha será requisitada, informe sua senha e uma mensagem de aviso será exibida, informando que um repositório vazio foi clonado.

Populando o Repositório

Para popular o repositório, pode-se utilizar um novo Website no padrão ASP.NET MVC, e coloca-lo dentro de uma pasta chamada src (Ou outro nome), na raiz do repositório, como mostrado na imagem abaixo:

Colocar o código dentro de uma pasta facilitará a inclusão de todos os arquivos posteriormente.

Com o projeto criado, é necessário então subir as alterações para o Windows Azure.

Note que ao clonar o repositório, uma nova pasta foi criada, neste caso, com o nome de meusite, então é necessário avançar uma pasta na tela do GIT (Comando “cd meusite”).

Um bom jeito de descobrir onde está o repositório clonado, é habilitar a visualização dos arquivos ocultos e procurar pelo arquivo .git dentro da pasta.

Comitando

Na pasta do repositório, precisamos adicionar os arquivos do projeto, comitá-los e em seguida enviá-los para o servidor.

Deste modo os seguintes comandos, na seguinte ordem serão utilizados:

  • git add src/
  • git commit –m “Comentário”
  • git push azure master

Após inserir a senha de publicação novamente, o GIT irá empacotar os dados e enviar para o Windows Azure, conforme a tela abaixo:

Durante este processo, na aba Implantações do Website, já temos um deploy sendo feito.

Ao fim da implatação temos o site rodando.

Atualizando o Website

Sabemos que atualizações ocorrem o tempo todo, e o objetivo de ter o deploy atrelado a um repositório é justamente este. Basta modificar um arquivo, fazer o Sync e o deploy no Windows Azure será automático.

Utilizando a ferramenta do GIT, após alterar algum arquivo, para atualizar o Website no Windows Azure, como mostrado acima, basta repetir o processo de (Add, Commit, Push).

Além da ferramenta do GIT, a atualização também pode ser feita de dentro do Visual Studio.

Ao abrir um projeto ligado a repositório GIT no Visual Studio, o mesmo já identifica e habilita as opções de sincronismo.

Notas:

  • Caso esteja utilizando o Visual Studio 2012, é necessário o Add On GIT Tools.
  • Caso seja seu primeiro projeto com GIT, acesse a opção Tools, Options, Source Control e selecione Microsoft Git Provider. Se o mesmo não estiver disponível, abra a aba Team Explorer (Menu View, Team Explorer) e o Visual Studio te dará opção de instalar.

Sempre que um arquivo é alterado, um simbolo vermelho aparecerá ao lado do mesmo, identificando que este arquivo não foi comitado.

Terminada as alterações desejadas, clique com o botão direito sobre o projeto ou solução e acessa a opção Commit, como mostrado abaixo:

Uma nova janela se abrirá, informando sobre as mudanças e arquivos afetados. Informe um comentário e prossiga com o Commit.

Feito o Commit, a opção Sync estará habilitada. Clique sobre ela para sincronizar.

Neste momento, as credenciais de implantação serão requisitadas, para redefini-las, caso necessário, utilize o Painel inicial do Website, acessando a opção Redefinir Credenciais de Implantação.

Ao sincronizar, automaticamente um novo deploy é feito:

E novamente, em instantes o Website está no ar, atualizado.

Conclusão

Automatizar Deploys no Windows Azure é facil e pode ser utilizado tanto localmente quanto com outros repositórios externos, facilitando todo o trabalho de publicação.