Configurando esteiras de CD/CI com Github e Gitlab — Parte 2
Olá pessoal, nesta segunda parte vamos configurar nossa esteira no Gitlab, utilizando o repositório que está no Github.
Na primeira parte desse artigo, configuramos uma esteira no Github Actions.
Para se utilizar o fonte que está no Github, dentro do Gitlab, temos que criar uma permissão, onde o Gitlab poderá acessar os repositórios do Github.
Inicialmente, vamos seguir esses passos:
Clique em New Project em seu Gitlab:
Depois disso, vá até a opção CI/CD for external repo e clique no botão Github.
Depois de clicar no botão, o Github irá abrir uma página para você colocar suas credenciais, depois disso, o Github te dará um token, para você associar ao Gitlab.
Para fazer isso clique no link Personal Access Token.
O Github, irá abrir essa página, para a criação do token
Gere um novo token no botão Generate new token
Logo após ser criado o token, coloque o token gerado no Gitlab e depois disso mostrará todos os seus repositórios que estão no Github
Clique em Connect no repositório que irá usar, e aguarde a sincronização. Depois de sincronizado, ficará assim:
Antes de configurarmos a esteira, vamos criar variáveis com dados da conta do Azure.
Antes de coloca-las no Gitlab, precisamos de uma permissão do Azure, para fazermos o deploy.
Para essa permissão do Azure, temos que realizar um passo a passo no shell do Azure, para criar uma senha de interação entre o Gitlab e o Azure. Vá até ao endereço: https://shell.azure.com/
Escolha a sua conta, e irá abrir essa tela:
Digite o comando:
az account list
Depois disso pegue copie o conteúdo da propriedade id, e digite esse outro comando:
az account set -- subscription=”[conteudo da propriedade id]”
Com isso, temos certeza que vamos realizar o cadastro da interação do Gitlab com Azure nesta subscription.
Agora vamos digitar o comando, para criar uma senha para autenticar entre os serviços
az ad sp create-for-rbac --role=”Contributor” --scopes=”/subscriptions/[conteudo da propriedade id]”
O resultado será bem parecido com esse:
{
"appId": "00000000-0000-0000-0000-000000000000",
"displayName": "azure-cli",
"name": "http://azure-cli",
"password": "0000-0000-0000-0000-000000000000",
"tenant": "00000000-0000-0000-0000-000000000000"
}
Depois de ter essas informações, vá no menu lateral Settings > CD/CI, e abra a sessão Variables
$AZ_SERVICE_PRINCIPAL_URL = [propriedade appId]
$AZ_SERVICE_PRINCIPAL_SECRET = [propriedade password]
$AZ_SERVICE_PRINCIPAL_TENANT = [propriedade tenant]
$AZ_APP_NAME = [nome do webapp no azure]
$AZ_APP_RESOURCE_GROUP = [nome do grupo de recursos do azure]
Adicione cada propriedade com seu valor, como no bloco acima.
Agora dentro do repositório, vamos configurar nossa esteira, clique em Set up CI/CD
Irá abrir o editor, para a configuração passo a passo;
Vejam que também, o arquivo é muito intuitivo para você entender o que cada coisa faz. Para criação dos passos, você precisa dizer quais stages, vão ser executados.
Em nosso exemplo vamos executar o stage de deploy. E os comandos de build e deploy estão na sessão script;
Como estamos usando o shell do Azure, para fazer a realização do deploy via linha de comando, ele irá precisar das variáveis que colocamos anteriormente.
Depois que ele faz o login em sua conta do Azure, ele executa os comandos build e publish no dotnet
Logo após isso, ele gera um .zip com o pacote, e faz o deploy em seu webapp.
E como no Github Actions, somente a esteira vai funcionar, quando tiver uma interação (Push) com a branch master.
Estando corretamente configurado, dê commit do arquivo em seu branch.
Agora, veja no menu lateral:
Você poderá ver sua esteira funcionando. Caso esteja, tudo correto o deploy será feito com sucesso.
O fonte da API que está no Github, foi publicada com sucesso no WebApp do Azure: APIGILAB
Nesta segunda parte vimos como configurar o Gitlab CD/CI, para realizar o deploy no Azure.
Espero que tenham gostado desta pequena série de como realizar o deply de forma automática, utilizando ferramentas de CD/CI
Até a próxima…