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.
![Manoel Frederico Silva – Gerente de Tecnologia e Evangelista MAGIC – Magic Brasil](http://www.repullo.com.br/blogmagic/wp-content/uploads/2015/02/fred21-150x150.jpg)
Para receber os artigos do Blog Magic Brasil em primeira mão no seu email, registre-se aqui