loader
gitlab

Armazene dados em seu próprio servidor por meio do GitLab

O GitLab é um gerenciador de repositório de software baseado em Git, similar ao GitHub, porém o GitLab pode ser instalado em um servidor próprio, para que o desenvolvedor ou empresa/organização, tenha seu próprio servidor para armazenar seus códigos, trabalhar com versionamento, ter suporte a Wiki, gerenciamento de tarefas e CI/CD

Por conta dessas vantagens grandes instituições utilizam servidores GitLab próprios, como NASA, CERN, Projeto GNOME, Marinha do Brasil (OPqM), entre outras. 

Nesse tutorial mostramos pra você como criar um ambiente e repositório com a conta de um usuário normal, como fazer o upload de um projeto para o repositório por Git e realizar o deploy com autenticação por Chave SSH na plataforma SaveinCloud.

Criando um ambiente na plataforma SaveinCloud

Acessando o painel de controle, localize o botão Marketplace no canto superior esquerdo para abrir o menu e buscarmos o GitLab.

No menu do Marketplace, no campo de pesquisa digite “gitlab” e aparecerá a opção para instalar o GitLab, coloque o mouse sobre a opção para aparecer o botão Install.

No pop-up de instalação de um Nome ao Ambiente, que servirá também como host, um Display Name opcional que seria o apelido desse seu ambiente, escolha a Região onde deseja criar o ambiente (São Paulo ou Fortaleza). Em seguida, clique em Install.

Após clicar em Install aparecerá o pop-up do processo de criação, você pode fechar ele e continuar mexendo no painel ou só deixar ele rodando. O ambiente com o GitLab demora um certo tempo para ser criado.

Após finalizar o processo de criação no mesmo pop-up que demonstrava o processo, irão aparecer os dados de acesso, com o link, login e senha para acessar o painel do GitLab e da mesma forma que aparece no pop-up você também irá receber no seu e-mail (o utilizado para criar a conta na plataforma) os mesmos dados de acesso.

A instalação finalizada já pode começar a utilizar seu servidor GitLab, criar grupos, usuários, repositórios, etc. 

Confira também: Iniciando com a Virtuozzo

Como criar um repositório com a conta de um usuário normal

Confira no vídeo acima a partir dos 18:52 minutos a demonstração do tutorial a seguir. Para dar início a este processo, faça o login na plataforma GitLab da SaveinCloud. Dentro da sua conta crie o repositório clicando em New Project.

Em seguida crie um repositório em branco acessando a opção Create blank project e na nova tela crie também um novo nome. Na opção Project URL, ao lado preencha para atribuir algum grupo ou usuário. 

Neste caso, só aparece o grupo A que é o grupo que esse usuário pertence, como ele não pertence ao grupo B não conseguimos criar/associar esse projeto ao grupo B, portanto, não vamos criar o projeto no grupo A, vamos criar para usar no Usuário como se fosse um projeto particular, que não fosse relacionado à empresa por exemplo.

Na visibilidade vamos selecionar a opção Público para mostrar depois a visibilidade desse projeto através do usuário teste.

Também vamos criar sem o Readme tirando a seleção desta opção, clique em Create Project para o projeto ser criado.

Agora temos nossos dois repositórios, um deles criado anteriormente.

Vamos sair da conta e acessar novamente com o usuário teste e mostrar essa questão da visibilidade. 

Em In All GitLab ele aparece por conta da visibilidade do projeto estar pública, é possível também acessar o repositório e ver o que temos nele. 

No caso do repositório não temos nada porque não subimos nenhum projeto. Se quiséssemos clonar o repositório por exemplo, existe essa possibilidade.

Nós vamos realizar o login novamente para voltarmos para o usuário. No usuário vamos começar a subir os projetos para o GitLab na opção de repositório Teste-Apache para subir através do upload de arquivos pelo site do GitLab

Clique em Upload file. Você pode arrastar o arquivo ou clicar em Upload  para abrir o File selector do Windows.

Escolha o documento que deseja subir, clique em abrir e confirme o Upload. Essa opção é interessante apenas para casos que têm necessidade de subir um único arquivo igual, como nesse caso que subimos um único index HTML. Não é possível enviar mais de um arquivo de uma vez na opção de Upload File. Também não é viável mandar um diretório inteiro por exemplo. 

Na parte superior da tela, clique no nome do repositório para acessá-lo. No caso deste tutorial, acessamos o Teste-Apache.

Aqui está o repositório com o arquivo index.html.

Como fazer o upload de um projeto pro repositório por Git

Acesse a tela inicial e agora no outro repositório Teste-Minio vamos mostrar como subir por Git, por linha de comando no famoso Git Push, que permite subir um diretório de projeto inteiro.

Nesta tela, estamos no repositório do Teste-Minio, como é um repositório em branco ele já tem um tutorial mostrando como fazer esse upload por Git. Basicamente é só a gente seguir as instruções.

No nosso terminal, já estamos no diretório do nosso projeto Teste-Minio.

Essa parte do tutorial cd existing_folder localizada na opção Push an existing folder não vamos precisar fazer, e no nosso caso também é um projeto NodeJS, mas o Git funciona da mesma forma independente da linguagem ou framework que você estiver usando no seu projeto. 

Se fosse um projeto em PHP mesmo com os arquivos do PHP toda a estrutura seria da mesma forma para subir por Git tanto se fosse também Java ou alguma outra linguagem.

Confira também: Java na nuvem, com alta disponibilidade e escalabilidade!

Agora vamos fazer a configuração inicial do tutorial localizada na opção Git global setup para configurar o meu usuário e o e-mail no Git.

Copie do jeito que está e execute ele vai ‘setar’/informar para o Git nosso usuário e e-mail.

Depois acesse o tutorial e verifique o terceiro campo Push an existing folder, que se refere ao nosso caso que já temos um projeto feito, um diretório com projetos estruturados e desejamos subir esse projeto que já existe.

Lembrando que não é necessário fazer essa primeira linha, pois já estamos localizados no diretório do projeto aqui no terminal, já vamos começar a partir da segunda linha git init – –  initial – branch=main

O processo é bem simples, basta ir executando igual está no tutorial linha por linha. O Git commit mostra todos os arquivos que vão subir para o nosso repositório e no Git Push – localizado na  última linha –  vai pedir para a gente digitar o usuário e a senha. 

Feito isso é só aguardar esse processo que neste caso foi bem rápido porque é um projeto curto, com poucos arquivos e leve. Em seguida, a gente só atualiza aqui o GitLab e já vai aparecer os arquivos, o repositório com todo o projeto que estava na sua máquina local armazenado no nosso GitLab.

Deploy na plataforma SaveinCloud com autenticação por Chave SSH

Antes de acessar o GitLab e mexer em algo no painel da SaveinCloud vamos criar a chave pública e a chave privada – Chave SSH pública e SSH privada. Se o seu sistema operacional for Windows pode criar as chaves em aplicativos como PuttyGen por exemplo, ou alguns outros Clients SSH que também servem para criação de chaves.

Se for sistema operacional Linux ou Mac dá para criar essa chave diretamente por linha de comando. Vamos mostrar primeiramente como criar por linha de comando.

O terminal que vamos utilizar é o wsl com um Ubuntu instalado e nossa máquina é Windows

Com o terminal aberto executamos o comando de SSH. Digite ssh-keygen -t rsa e ele vai iniciar o processo e gerar a chave.

Também será solicitado colocar o Nome do arquivo. No nosso caso vamos colocar o diretório completo porque se só colocar o nome para chave pública e para a chave privada, ele vai criar no diretório atual. Nós vamos deixar no diretório padrão do SSH.

Na nossa máquina o diretório padrão é: /home/petherson/ .ssh e agora damos o nome do arquivo, que vamos deixar saveincloud no nome das chaves, ficando o caminho completo assim: /home/petherson/ .ssh/saveincloud

Após isso é solicitado o passphrase, não vamos criar uma passphrase. Uma observação importante, para poder funcionar essa autenticação por SSH, a sua chave pública e privada não podem ter passphrase, precisa lembrar disso na hora de fazer a criação seja por Puttygen seja por linha de comando, não pode incluir o passphrase na chave SSH que for utilizar para fazer essa autenticação da nossa plataforma com o GitLab, GitHub, outros repositórios Git. 

Dê um Enter direto sem colocar informação para não gerar o passphrase

Confira também: As dificuldades em cloud para desenvolvedores de software

Agora vamos mudar para o diretório onde foi criado a chave executando cd /home/petherson/ .ssh, execute agora um ll -a para visualizar as duas chaves criadas.

A chave privada está com o nome saveincloud e a chave pública está saveincloud.pub 

O processo com as chaves já criadas é simples. A chave privada a gente vai configurar ela no nosso painel e a chave pública a gente vai configurar ela no GitLab.

Basta copiar o conteúdo do arquivo da chave e colar no painel correspondente, no nosso painel GitLab. Nós vamos começar aqui na chave privada. Vamos dar um cat saveincloud para poder ler o arquivo todo da chave privada, vamos selecionar tudo e copiar.

No nosso painel, no canto superior direito onde está nosso usuário da conta, clique em Settings.

Em seguida clique em SSH Keys, depois Add private keys para adicionar uma nova.

Adicione um Nome, não necessariamente precisa ser o mesmo nome da chave que a gente criou aqui pelo terminal. Você pode dar o nome diferente, no nosso painel isso é indiferente.

Cole o conteúdo na opção Keys que a gente copiou do terminal e clique em Add.

Agora temos a nossa chave privada já adicionada aqui no painel.

No GitLab para adicionar a chave pública é no canto superior direito, onde está localizada a foto do nosso perfil em Preferences

No menu no canto esquerdo clique em SSH Keys e estará visível o formulário para adicionar a nossa chave. Então voltamos aqui no terminal e vamos usar o mesmo comando o cat só que dessa vez ao invés de usar ele na chave privada, vamos na chave pública cat saveincloud.pub, mostrando o conteúdo aqui eu vou copiar e colar o conteúdo todo no GitLab na opção Keys.

Em Title você pode mudar esse nome padrão, nós vamos nomear como SaveinCloud também, não vamos colocar a data de expiração. Você pode adicionar essa chave com uma data de expiração e depois ir renovando ela com o tempo, trocando essa chave. Não é obrigatório deixar sem e não é obrigatório colocar. Para finalizar clique Add key e a chave foi adicionada.

Acesse a tela inicial do GitLab e agora vamos fazer o deploy desse projeto do Teste-Minio utilizando autenticação por SSH.

Clique em Teste-Minio, em seguida Clone e copie o HTTPS.

Volte para o painel da SaveinCloud e acesse o API Minio, clique em Deploy from git, em seguida Git/SVN e Add new repository, adicionar o nome conforme está no nosso repositório, coloque a URL que a gente copiou, deixa a Branch como Master de novo, selecione a opção para usar autenticação, o Nome de usuário, porém aqui na Access type  vamos selecionar SSH Key.

Em Select Key vai aparecer para selecionar qual chave privada deseja usar. Nesse caso só tem a que acabamos de criar, clique em Selecionar e Add.

Na nova tela com o repositório selecionado, só clicar em Deploy e aguardar que estará pronto. 

Armazene seus códigos em segurança no seu servidor próprio por meio do GitLab na plataforma SaveinCloud. Teste gratuitamente por 14 dias