GitLab

De Wiki Projeto Root
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre a ferramenta GitLab que é um gerenciador de repositório de software baseado em git, com suporte a Wiki, gerenciamento de tarefas e CI/CD.GitLab é similar ao GitHub, mas o GitLab permite que os desenvolvedores armazenem o código em seus próprios servidores, ao invés de servidores de terceiros. Ele é software livre, distribuído pela Licença MIT. O código foi originalmente escrito em Ruby, com algumas partes posteriormente re-escritas em Go.O projeto Gitlab conta com mais de 2100 colaboradores. É usado por mais de 100 000 organizações, incluindo IPqM (Marinha do Brasil) , IBM, Serpro (Serviço Federal de Processamento de Dados), NASA, Alibaba, Invincea, O’Reilly Media, CERN, Projeto GNOME e SpaceX.


Vídeos

  • Primeira Parte - Instalação

https://youtu.be/vjEqO386qV4

  • Segunda parte - Utilização

https://youtu.be/GhTWFR66EbE

  • Recomendação - Primeiros Passos com Git (Angelo Luz)

https://youtu.be/GIEquFr3jcg


Ajustes de Sistema

  • Verificar IP
 ifconfig
  • Ajustar o nome do host
nano /etc/hostname
nano /etc/hosts
  • Atualização do Sistema
 apt-get update && apt-get upgrade && apt-get dist-upgrade && apt-get autoremove && apt-get autoclean && apt-get clean

Instalação

  • Debian 10
 apt-get install -y curl openssh-server ca-certificates postfix && curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash


 EXTERNAL_URL="http://gitlab.dominio.com.br" apt-get install gitlab-ce
 ou 
 EXTERNAL_URL="http://IP_DO_SERVER" apt-get install gitlab-ce

Extras para Debian 10

      • Runner
 curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | bash
 apt-get install gitlab-runner


  • CentOS 7
 yum install -y postfix curl policycoreutils-python openssh-server && systemctl enable sshd && systemctl start sshd && firewall-cmd --permanent --add-service=http && firewall-cmd --permanent --add-service=https && systemctl reload firewalld && systemctl enable postfix && systemctl start postfix && curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash 
 EXTERNAL_URL="https://gitlab.dominio.com" yum install gitlab-ce
 ou
 EXTERNAL_URL="IP_DO_SERVER" yum install gitlab-ce

Extras para CentOS 7

      • Runner
 curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | bash
 yum install gitlab-runner


CLI

Para rodar a reconfiguração

 gitlab-ctl reconfigure

Para verificar os serviços do GitLab

 gitlab-ctl service-list

Verificar o status

 gitlab-ctl status


Acesso por web

Acesso via browser para Resetar(Setar) senha inicial para administração

 http://IP_DO_SERVER ou http://NOME.DOMINIO
 Usuário:root
 Senha definida


  • dúvida 01: Posso mudar a URL?

SIM, para tal faça:

 gitlab-ctl stop unicorn
 gitlab-ctl stop sidekiq

NOVA URL

 nano /etc/gitlab/gitlab.rb
 external_url "http://NOVA_URL/gitlab"
 gitlab-ctl reconfigure
 gitlab-ctl restart


  • dúvida 02: Perdi a senha de ROOT do Gitlab, tem como resetar?

SIM, Como root no servidor faça:

 gitlab-rails console -e production
 user = User.where(id: 1).first
 user.password = 'NOVA_SENHA'
 user.password_confirmation = 'NOVA_SENHA'
 user.save!

Utilizando o Git

Não sabe usar o Git? veja em: https://githowto.com/pt-BR

Configurando o Git na máquina local

 git config --global user.name "SEU_USUARIO_NO_GIT"
 git config --global user.email SEU_EMAIL@DOMINIO.com.br

Criando um repositório local

 mkdir meu_repo
 cd meu_repo/

Iniciando o repositório local

 git init
 git status

Clonando o repositório do gitlab

 git clone git@192.168.201.136:sysadmin/wiki.git
 cd wiki

Criando um arquivo local

 nano update.sh

Adicionando o arquivo criado para commit e enviando para o gitlab

 git add update.sh 
 git commit -m "script de atualização inicial *Debian/Ubuntu/Mint"
 git push -u origin master  

Atualizando o arquivo

 nano update.sh 
 git status
 git add update.sh 
 git status
 git commit -m "Ajustes iniciais" 
 git push -u origin master  

Remover arquivo

 git rm update.sh
 git add .
 git commit -m "removendo update.sh" 
 git push -u origin master


OPA,OPA,OPA apaguei o arquivo errado... vamos recuperar?

 git log --diff-filter=D --summary
 root@UnidadeMovel:/home/diegocosta/meu_repo/wiki# git log --diff-filter=D --summary
 commit 6a8f8102dc9e8ffb74b27d48d1560aeb0b051da3 (HEAD, origin/master, origin/HEAD, master)
 Author: Administrator <admin@example.com>
 Date:   Tue Feb 25 06:13:41 2020 -0300
 
     removendo update.sh
 
  delete mode 100644 update.sh
 
 root@UnidadeMovel:/home/diegocosta/meu_repo/wiki# git checkout 6a8f8102dc9e8ffb74b27d48d1560aeb0b051da3~1 update.sh
 root@UnidadeMovel:/home/diegocosta/meu_repo/wiki# ls -lah