Olá galera o/

Na postagem de hoje vamos aprender a realizar a Integração do GitHub com o Azure Data Factory. Antes de começarmos a integração, vamos aprender alguns conceitos do GitHub, para que assim, possamos saber o porque estamos integrando com o nosso ADF.

O que o GitHub?

GitHub é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão usando o Git. Ele permite que programadores, utilitários ou qualquer usuário cadastrado na plataforma contribuam em projetos privados e/ou Open Source de qualquer lugar do mundo. [Wikipedia]

Em outras palavras, quando a integração estiver feita, teremos todo o código do nosso Azure Data Factory armazenado no repositório do GitHub. Bem legal isso neh!!!

O que vamos aprender?

1 – Criar uma conta no GitHub
2 – Criar um repositório
3 – Criar uma branch chamada dev
4 – Realizar a integração com o ADF
5 – Realizar o pull request dos códigos de DEV para a Master
6 – Alterando um pipeline e realizando um novo pull request
7 – Desvincular o GitHub do Azure Data Factory

Criando uma conta no GitHub

Para criar uma conta no GitHub vamos realizar os seguintes procedimentos:

1 – Acessar o site do GitHub: GitHub: Where the world builds software · GitHub
2 – Informar o e-mail na caixa de branco e clicar em Sign up for GutHub

Seremos encaminhados para a página de configuração da conta. Abaixo do texto Enter Your Email, devemos informamos o e-mail novamente. Clicamos em Continue.

Abaixo do texto Create a password, devemos informar uma senha forte para a conta. Clicar em Continue.

Abaixo do texto Enter a username, devemos informar o nome do usuário OWNER para a conta. Este usuário é de extrema importância para a integração com o ADF. Clicar em Continue.

Abaixo do texto Would you like to receive product updates and announcements via email? Type “y” for yes or “n” for no (Gostaria de receber atualizações e anúncios de produtos por e-mail? Digite “y” para sim ou “n” para não.). Particularmente eu marquei não, mas está opção é de escolha livre.. Clicar em Continue.

Abaixo do texto Please solve this puzzle to verify that you are human. Click “start to puzzle” to continue(Resolva este quebra-cabeça para verificar se você é humano. Clique em “start to puzzle” para continuar. Resolva o quebra-cabeça. Clicar em Continue.

Uma vez que o quebra-cabeça foi resolvido, clicamos em Create account.

Você receberá um e-mail com um código de verificação, devemos copiar o código do e-mail e informar na opção Enter code. Com este procedimento finalizamos a criação de uma conta no GitHub.

Criando um repositório e um nova branch

Uma vez que temos a nossa conta criada, seremos redirecionados para a tela inicial do GitHub. No canto esquerdo da tela é possível visualizar um botão na cor verde com o texto Create repository. Clicar neste botão.

Seremos redirecionados para a tela de criação de um novo repositório. Vamos realizar os seguintes passos para criar um repositório:

1 – Na opção Repository name devemos informar o nome do repositório. Eu coloquei o nome integracao_adf.
2 – Na opção Description (optional) eu coloquei uma descrição para o repositório. Está opção não é obrigatória.
3 – Devemos escolher se o repositório será público ou privado, ou seja, se for público pessoa da web pode ver o conteúdo do repositório, se for privado somente você e os integrantes configurados no repositório podem visualiza-lo. Selecionei privado.
4 – Na opção Initialize this repository with podemos dizer quais arquivos podemos conter na criação do repositório. Selecionei apenas o arquivo README, que contém a descrição atribuída ao projeto.
5 – Para finalizar clicamos em Create repository.

Seremos redirecionados para a tela do novo repositório. Em cima da foto/desenho do Owner, clicamos na opção main (está é nossa branch principal).

Quando clicamos em Main, são exibidas as possíveis branches existentes neste repositório. Para criar uma nova branch precisamos realizar os seguintes passos:

1 – Clique na caixa com texto Find or create a branch.
2 – Informe o nome da sua nova branch. Informei que o nome seria dev.
3 – Depois que informar o nome, clique na opção Create branch: dev from “main” para criar uma nova branch no seu repositório.
4 – Ao final do processo, serão exibidas duas branches no repositório integracao_adf.

Observação importante!!!!

Eu realizei a criação da conta do GitHub com a mesma conta que utilizo para acessar os recursos do Azure. Ao configurar o ADF com o GitHub será solicitado que você vincule o serviço com a conta do Github, assim fazendo que ADF seja um aplicativo com permissão de acessar os recursos do GitHub. Para verificar se seu ADF foi vinculado após a configuração faça os seguintes passos:

1 – Clicar em cima da foto do seu usuário.
2 – Clicar na opção Settings.
3 – Selecionar Applications.
4 – Selecionar a aba Authorizes OAuth Apps.

Configurando o repositório no Azure Data Factory

Agora vamos iniciar a configuração do Azure Data Factory, para isso é necessário abrir o mesmo e realizar os seguintes procedimentos:

1 – Clicar em Manage (ícone da caixa de ferramenta).
2 – Na seção Source Control, selecionar Git configuration.
3 – Na tela que é exibida, Configure a repository, clique no botão Configure que esta localizado no meio da tela.

Na lateral direita da tela será exibido a tela de configuração do repositório. Na opção Repository type temos dois tipos de repositório de códigos, o GitHub e o Azure DevOps Git. Neste post iremos nos conectar com o GitHub, então selecione o mesmo.

Quando você seleciona o repositório GitHub, a opção GitHub repository owner é habilitada.

1 – Devemos colocar o nome do OWNER do GitHub, ou seja, aquele usuário que configuramos durante a criação da conta.
2 – Clicar no botão Continue

As demais opções de configuração são exibidas depois que informamos o owner do GitHub. Vamos configurar da seguinte maneira:

1 – Selecionar de que maneira nos vamos nos conectar ao repositório. Para este post, selecionei Select repository.

2 – Na opção Repository name, selecionamos o repositório que foi criado no ambiente do GitHUb.

3 – Na opção Collaboration branch, definimos qual a branch principal do projeto, ou seja, é o nome do branch onde você irá colaborar com outras pessoas e a partir do qual você publicará. Neste caso, nossa branch principal é a Main. As Triggers e publicações de todo o código só são possíveis na branch Main (principal do projeto).

4 – Na opção Publish branch, definimos qual a branch secundária que será utilizada para trabalharmos, ou seja, a branch em seu repositório onde os modelos ARM relacionados à publicação são armazenados e atualizados. Neste caso, nossa branch de publicação e desenvolvimento será a branch Dev.

5 – Na Import Existing Resource, selecionamos a flag Import existing resources to repository, para que possamos importar o código já existente do Azure Data Factory para dentro no nosso repositório do GitHub.

6 – Na opção Import Resouce into this branch, vamos selecionar a branch Dev. Está opção definimos em qual branch o código existente será armazenado inicialmente após o termino da configuração.

7 – Para finalizar o procedimento clicamos no botão Apply.

Ao finalizar a configuração do GitHub, a tela Set working branch será exibida na lateral direita. Temos a opção de criar uma nova branch ou usar uma existente, como já configuramos anteriormente no ambiente do GitHub as branches, vamos selecionar a opção Use existing.

1 – Nas branches exibidas, vamos selecionar a branch Dev

2 – Clicar no botão Save.

Ao finalizar todo o procedimento de configuração, percebam que o Git Repository está integrado com nosso Azure Data Factory.

Percebam que, alguns componentes novos no ADF foram habilitados. Vamos entender cada um deles.

1 – Primeiro vamos clicar no Editor (ícone do lápis).

2 – Percebam que agora vocês tem o ícone do GitHub, ao clicar neste ícone podemos ver quais componentes temos disponíveis.

3 – Lista de branches existentes no nosso repositório. Para o nosso exemplo, temos apenas duas branches.

4 – + New Branch [Alt + N], com está opção é possível criar novas branches desenvolvimento nosso repositório.

5 – Create pull request [Alt + P], com está opção podemos realizar o envio das nossas alterações para o repositório e discuti-las com o time. Mas o que é um Pull Request ? São solicitações que permitem que você informe aos outros sobre as mudanças que você enviou para um branch em um repositório no GitHub. Uma vez que uma solicitação pull é aberta, você pode discutir e revisar as mudanças potenciais com colaboradores e adicionar commits de acompanhamento antes que suas mudanças sejam mescladas no branch base. [GitHub – Pull Request]

6 – Switch to live mode, com está opção podemos trocar o modo de armazenamento do ADF, ou seja, se não desejarmos utilizar o repositório do GitHub ou Azure Devops, podemos utilizar o modo padrão de armazenamento dos códigos (Realizando um Publish All toda vez que um componente do ADF sofre alteração).

7 – Botão Saved, com está opção você salvar alterações realizadas em um determinado componente do ADF sem necessitar publicar o projeto todo.

8 – Botão Save All, com está opção você salvar todas as alterações realizadas em todos os componentes do ADF de uma vez.

Percebam que temos duas branches DEV e MAIN vamos analisar o que está armazenado em cada uma das branches.

1 – Primeiro vamos clicar no Editor (ícone do lápis).

2 – Ao selecionar a branch DEV nos é exibido todos os componentes atuais do nosso ADF. Está branch recebeu o código do projeto atual quando estávamos realizando o processo de configuração do repositório ao marcamos a flag Import Existing Resource e selecionamos a branch dev para a opção Import Resouce into this branch.

3 – Ao alternamos a branch para a MAIN nos é exibido todos os componentes com valor zerado, ou seja, esta branch atualmente não tem o código do ADF armazenado. Para isso necessitamos fazer um pull request.

Realizando um pull request do projeto para a branch main

Uma vez que realizamos toda a configuração do repositório e verificamos todos os novos itens no ambiente do ADF, voltamos para o site do GitHub. Percebam que o botão Compare & pull ficou habilitado, devemos clicar no mesmo.

Você será redirecionado para uma nova página. Vamos realizar os seguintes passos para enviar os códigos da branch DEV para MAIN:

1 – Primeiro vamos alterar a descrição do pull request. Coloquei a descrição 1º Pull Request
2 – Serão exibidos todos os itens que estão na branch dev que vão para a branch main. Como este é o primeiro pull request, ele está enviando todos os itens existentes no ambiente do ADF.
3 – Clicar no botão Create pull request.

Uma vez com o pull request criado, vamos clicar no botão merge pull request. Ao clicar neste botão todo o código da branch dev será enviado para a branch main (que é a branch principal do ADF). Lembrando que, as triggers e publicações de todo o código só são possíveis na branch Main.

1 – Estaremos enviando da branch DEV para a MAIN
2 – Clicar no botão merge pull request.
3 – Uma vez que o merge foi solicitado, vamos confirmar o merge clicando no botão Confirm merge.

Ao confirmar o Merge, percebam o Nome Merged ficará destacado na cor Roxa. Isso significa que nosso processo funcionou e os códigos que estavam na branch de DEV agora estão na branch MAIN.

Iremos retornar para o ambiente do Azure Data Factory e vamos realizar o mesmo procedimento de alterar as branches para verificamos o que aconteceu após o primeiro pull request. Percebam agora que, a branch de DEV e MAIN tem o mesmo número de itens após o procedimento do pull request.

Alterando um componente do ADF e realizando um novo pull request

Com o Azure Data Factory aberto vamos clicar em qualquer pipeline e realizar alguma alteração simples apenas para exemplificar a criação de um novo pull request. Para este exemplo utilizei um pipeline chamado pipe_wait1 que contém uma activity wait que estava com o valor 10 segundos no parâmetro Wait time in seconds.

1 – Alterar o parâmetro da activity Wait de 10 segundos para 5 segundos.
2 – Clicar no botão save para salvar as alterações do pipeline na branch dev.
3 – Clicamos no ícone do github. Lembrando que todo o desenvolvimento de novos objetos deve ser realizado na branch DEV.
4 – Clicar na opção Create pull Request. Ao clicar, o Data Factory nos encaminhará para o site do GitHub para realizarmos o pull request desta alteração em especifico.

Uma vez na página do GitHub, vamos analisar alguns pontos antes de criarmos o pull request.

0.1 – Quando ocorreu a alteração e por quem foi feita.
0.2 – Qual pipeline foi alterado.
0.3 – Qual o valor estava antes da alteração.
0.4 – Qual o novo valor após a alteração. Este valor é o que será enviado para a branch main
1 – Para ter visão do antes e o depois, selecionei a opção Split ao invés de unified.
2 – Uma vez com toda a analise feita e garantimos que a alteração de fato está correta e é necessária, vamos clicar em Create pull request.

Você será redirecionado para uma nova página. Vamos realizar os seguintes passos para enviar os códigos da branch DEV para MAIN:

1 – Primeiro vamos alterar a descrição do pull request. Coloquei a descrição Alteração no pipeline wait.
2 – Na descrição eu informei qual foi a alteração realizada. Coloquei a descrição: Alteração do parâmetro de 10 para 5 segundos.
3 – Clicar no botão Create pull request.

Uma vez com o pull request criado, vamos realizar o merge das informações.

1 – Clicar no botão merge pull request.
2 – Uma vez que o merge foi solicitado, vamos confirmar o merge clicando no botão Confirm merge.

Ao confirmar o Merge, percebam o Nome Merged ficará destacado na cor Roxa. Isso significa que nosso processo funcionou e a alteração do pipeline na branch de DEV agora está na branch MAIN.

Com este procedimento aprendemos como enviar qualquer alteração de pipelines para nossa branch MAIN.

Desvinculando o GitHub do Azure Data Factory

Obs.: O processo de desvincular o repositório do ADF não impacta nos componentes que foram criados /alterados enquanto a integração estava vigente. Este procedimento só fica habilitado quando é realizado um pull request para a branch main.

Para desvincular o repositório do Azure Data Factory devamos realizar os seguintes passos:

1 – Clicar em Manege (ícone da maleta de ferramentas)
2 – Na seção Source control, clicamos em Git configuration.
3 – Clicamos na opção Disconnect (ícone de uma tomada se desconectando)

Uma tela será exibida na lateral direita do tela do ADF. Realizar os seguintes passos para finalizar a desvinculação.

1 – Informar o nome do seu Azure Data Factory na opção Enter your Data Factory name below and click confirm. Eu informei o nome adf-postblog que é o nome que coloquei quando provisionei o serviço do azure data factory.

2 – Clicar no botão Disconnect.

Com este processo desvinculamos o repositório do ADF, ou seja, voltamos ao ambiente padrão aonde qualquer alteração devemos realizar o procedimento de publicação através do Publish All.

No post de hoje aprendemos a criar uma conta no GitHub, Configurar um repositório, integrar o repositório com o ADF, criar pull requests e também a desvincular o repositório do ADF.

A integração do ADF com o GitHub ou Azure Devops é importante, pois além de armazenamos os códigos-fontes dos nossos projetos em um repositório, também aumentamos o nível de controle sob o que será enviado para a branch principal do projeto. Isso nos dá uma segurança para diversas eventualidades que podem acontecer em projetos.

Atenção: Se você esta com uma conta gratuita, pay-as-you-go ou de estudante, não esquecer de apagar os recursos criados nesta postagem. Para contas de estudante e gratuita a exclusão dos recursos evita o consumo dos créditos disponíveis, além disso, evita que aconteça cobrança indevida em sua subscription (assinatura). Para a conta pay-as-you-go é cobrado do cartão de crédito conforme o uso dos serviços, então, recomendo apagar para não gerar cobrança no seu cartão de crédito.

Espero que tenham gostado desta postagem, vou fazer mais postagens técnicas sobre data factory. Aguardem que 2021 vai ter muito conteúdo legal no blog.

Desejo a todos uma boa leitura, boa prática e bons estudos.

Para quem quer estudar:

  • Curso preparatório para Certificação Microsoft MTA Database Fundamentals | BD Relacional e Linguagem T-SQL.
    • Segue o link do curso na Udemy. >> LINK <<
  • Curso Azure Databases para Iniciantes
    • Segue o link do curso na Udemy. >> LINK <<
  • Curso Azure Data Factory para Iniciantes
    • Segue o link do curso na Udemy. >> LINK <<

Não se esqueçam de avaliar esta postagem através da ESTRELAS abaixo das redes sociais, isso vai me ajudar muito a melhorar as postagens.

Quem quiser mandar comentários, sugestões, criticas e complementos, fiquem a vontade, pois feedbacks positivos ou negativos engradecem meu conhecimento para que possa melhorar as postagem para vocês.

Até a próxima o/

Acessem nossas Redes Sociais: