GitBucket é um sistema de desenvolvimento colaborativo auto-hospedado que se assemelha a serviços como GitHub ou GitLab, além disso, possui uma interface bastante semelhante a estas. GitBucket está posicionado como uma estrutura de desenvolvimento para sistemas para trabalhar com repositórios Git. O sistema se destaca pela facilidade de instalação, capacidade de expandir funcionalidade por meio de plug-ins e suporte para API do GitHub.
GitBucket vem com um conjunto de recursos de escopo que inclui suporte GitLFS, questões, solicitação de pull, notificações, sistema de plugins, repositórios Git públicos e privados, além disso também pode ser facilmente integrado com LDAP para gerenciar contas e grupos. O código GitBucket é escrito em Scala e licenciado sob Apache 2.0.
Das principais características GitBucket destaca o seguinte:
- Suporte para repositórios Git públicos e privados com acesso via HTTP e SSH
- Suporte GitLFS
- Interface para navegação no repositório com suporte para edição de arquivos online;
- A presença de um Wiki para a preparação de documentação
- Interface para processamento de mensagens de erro
- Ferramentas para processar solicitações de mudança
- Sistema de notificação por email
- Um sistema simples de gerenciamento de usuários e grupos com suporte para integração LDAP
- Um sistema de plug-ins com uma coleção de plug-ins desenvolvidos por membros da comunidade.
Na forma de plug-ins, recursos como criação de notas gerais, postagem de anúncios, backup, exibição de notificações na área de trabalho, plotagem de commits e desenho de AsciiDoc são implementados.
Como instalar o GitBucket no servidor Ubuntu, desktop Ubuntu ou derivados?
Como mencionado no início, GitBucket é um sistema de desenvolvimento colaborativo que é auto-hospedado, então a instalação deste é destinada a servidores, embora também seja possível pode perceber instalação em versões desktop Ubuntu ou algum derivado dele.
Basta ter em conta que nas instruções em vez de colocar um domínio deverá utilizar o IP local da sua rede doméstica, deverá também considerar a instalação adicional de pacotes necessários para lançar um serviço web (PHP, Apache, alguma base de dados compatível (MySQL ou PostgreSQL) Posso recomendar que instale o Xampp para Linux ou o famoso Lamp.
Para instalar do GitBucket, primeiro devemos ter o pacote java instalado no sistema, então se você não tiver, apenas execute o seguinte comando:
sudo apt-get install default-jdk -y
Agora vamos criar um novo grupo e um usuário para poder rodar o GitBucket
sudo groupadd -g 555 gitbucketsudo useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket
Feito isso, agora vamos baixar a versão estável mais atual que é a versão 4.33 do seguinte link ou do terminal com wget:
wget https://github.com/gitbucket/gitbucket/releases/download/4.33.0/gitbucket.war
Assim que o download for concluído, teremos que atribuir um espaço ao GitBucket. Para isso vamos digitar o seguinte comando:
mkdir /opt/gitbucket
Agora apenas temos que mover o arquivo baixado para o diretório recém-criado:
mv gitbucket.war /opt/gitbucket
Agora devemos dar permissões ao usuário que criamos para que você possa trabalhar no diretório criado:
chown -R gitbucket:gitbucket /opt/gitbucket
Já com ele, vamos criar um serviço no sistema para isso vamos digitar:
sudo nano /etc/systemd/system/gitbucket.service
No arquivo vamos colocar o seguinte:
# GitBucket Service [Unit] Description=Manage Java service [Service] WorkingDirectory=/opt/gitbucket ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war User=gitbucket Group=gitbucket Type=simple Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
Nós salvamos com Ctrl + O e saímos com Ctrl + X e vamos recarregar todos os serviços com:
sudo systemctl daemon-reload
E habilitamos aquele que criamos com:
sudo systemctl start gitbucket sudo systemctl enable gitbucket
Já com o serviço habilitado e iniciado, devemos conectar o banco de dados:
sudo nano /opt/gitbucket/database.conf db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
E pronto O serviço agora pode ser acessado de seu domínio inserindo o espaço alocado http://yourdomain.com:8080 ou em uma instalação local com localhost: 8080
- Usuário: root
- Senha: root
Finalmente, é recomendado implementar um proxy reverso, mas o processo é diferente em Nginx, Apache ou Candy. Você pode verificar a documentação sobre isso no link a seguir.