Vamos ver nesta publicação como utilizar o GIT como controle de versão e desenvolvimento concorrente, de projetos Magic xpa, mas
sem a necessidade de um site externo (GitLab, AzureDevOps, BitBucket, GitHub).
Inicialmente, vamos alinhar as expectativas e destacar que esta publicação necessita que você primeiro tenha lido nossa outra postagem: Magic xpa Integrado ao GIT.
Se ainda não leu, faça uma pausa, pegue sua xícara de Starbucks (com café dentro) e dê uma lida.
Retornando, esta publicação aborda o cenário de que muitas vezes, o(s) DEV(s) ou a(s) ORG(s) não quer(em) expor seus projetos na internet, e pode(m) não se sentir confortável(eis)/seguro(s) em colocar uma cópia dele(s) em algum dos servidores mencionados acima.
Ou, talvez não queira(m) depender totalmente da conexão internet para poder sincronizar seu REPO LOCAL com o REPO REMOTO.
Seja qual for o motivo (todos são válidos), felizmente existem alguns GIT SERVERs (gratuitos e pagos) que podem ser instalados internamente, no servidor da sua intranet (rede).
Por exemplo:
- Gitolite
- GitLab Community Edition (CE)
- Bitbucket Server (formerly known as Stash)
- Apache Git (git-http-backend)
e o que vamos mostrar aqui neste post:
Gitea
Gitea é um GIT SERVER free (OpenSource), muito fácil de instalar e configurar, que você pode baixar e instalar na sua intranet:
Neste exemplo, vamos considerar uma máquina Windows como nosso GIT SERVER da intranet (rede), de nome FZDELL.
Nela (FZDELL), vamos criar duas pastas:
D:\GiTEA D:\GiTEA\data
e baixar o .EXE do programa lá:
Em seguida, apenas executamos este programa:
E ele inicia um HTTP Server na porta (default) 3000.
Acessando então este endereço no WebBrowser (http://localhost:3000/):
Entramos na configuração inicial do nosso GIT SERVER.
*Nota: Esta página está em português porque o Windows da máquina está em português
São várias configurações, como por exemplo a base de dados que vai dar suporte ao GIT SERVER.
Aqui, para facilitar as coisas, vamos escolher SQLite3:
São realmente várias configurações existentes, mas nós não iremos passar por elas. Vamos acatar os valores padrões (para simplificar).
Mas no final da página, na seção “Configurações opcionais“, vamos criar a conta do administrador:
*Nota: a seção se chama "Configurações Opcionais", mas criar uma conta de acesso, é uma atividade "obrigatória". Se não for agora, terá de ser no próximo acesso 😎
Clicando-se então em “Instalar Gitea“, o servidor por trás da página vai iniciar uma série de atividades de setup (que pode demorar uns minutos):
Mas em seguida entramos na página principal do no GIT SERVER (Gitea), que (não por acaso) se assemelha muito com o GitHub:
Nos bastidores, algumas pastas e subpastas foram criadas em nosso servidor:
E o setup de ambiente que realizamos inicialmente, fica guardado (se quiser ajustar) no arquivo: %GITEA_HOME%\custom\conf\app.ini:
*Nota: Uma documentação (manual) das opções de parametrização para o "App.ini" está disponível aqui.
Importante destacar também que o “gitea-1.20.4-windows-4.0-amd64.exe” é o Gitea:
Todo o software está concentrado neste programa (sem DLLs, OCX, etc…).
Enquanto este .EXE estiver rodando, nosso GIT SERVER está no ar.
Se desligarmos ele (CTRL+C), realizaremos um shutdown do nosso GIT SERVER (Gitea).
*Nota: Para colocar o Gitea como um serviço do Windows, uma documentação (guia) está disponível aqui.
Voltando à pagina (site) inicial do Gitea (http://localhost:3000/) são muitas opções bacanas de configurações que temos:
Mas nós não vamos detalhá-las. Vamos aqui apenas focar em duas coisas:
- Criar uma organização:
- E dentro desta organização, criar um novo repositório:
E está pronto! Temos agora um REPO REMOTO para uso em nossos projetos Magic xpa, porém em nosso GIT SERVER particular (privativo).
Se voltarmos à publicação anterior, por exemplo, podemos substituir todas as referências a:
- https://github.com/desenvmagicbr/IntegracaoMagicxpaGit.git
por
-
http://FZDELL:3000/desenvmagicbr/IntegracaoMagicxpaGit.git
E tudo vai funcionar da mesma forma.
Vamos testar.
Criando um Projeto NOVO
O Magic xpa Studio cria o projeto normalmente, já com o seu REPO LOCAL (subpasta .git).
Com o menu de contexto do Windows Explorer, vamos escolher a opção “Open GIT Bash Here” (ela existe por causa das instalações dos pré-requisitos do GIT):
Neste shell (console bash), vamos alterar o nome da branch git principal, de “master” para “main“:
git branch -m master main
e vincular o REPO LOCAL ao REPO REMOTO (Gitea na intranet):
git remote add -m main origin http://FZDELL:3000/desenvmagicbr/IntegracaoMagicxpaGit.git <-- URL do Gitea deste exemplo
git push -u --set-upstream origin main
Pronto. Agora é possível levar alterações do REPO LOCAL para o REPO REMOTO, e trazer alterações do REPO REMOTO para o REPO LOCAL, pois eles estão devidamente vinculados.
*Nota: Se preferir, pode realizar todas estas operações usando o Tortoise for GIT (também instalado anteriormente como pré-requisito do GIT), que é GUI, ao invés do GIT Bash (que é linha de comando)
*Nota: O Gitea foi aqui demonstrado para fins didáticos. A Magic Software Brasil não oferece suporte, treinamento ou consultoria de nenhuma natureza a respeito dele, nem se responsabiliza pelo seu funcionamento.
Fique ligado no Blog MagicBR, para mais dicas.
Para receber os artigos do Blog Magic Brasil em primeira mão no seu email, registre-se aqui