... | ... | @@ -3,7 +3,7 @@ Esta página descreve a ferramenta GitLab e faz parte do [Catálogo do LabES](.. |
|
|
|
|
|
## O que é?
|
|
|
|
|
|
O GitLab é uma plataforma para desenvolvimento e operação (_DevOps_) de software que reúne uma série de ferramentas úteis num projeto de desenvolvimento de software, como quadro de tarefas, repositório de código (Git), ferramentas de revisão de código, pipeline de construção e implantação de entregas (releases), ferramentas de monitoramento, etc.
|
|
|
O GitLab é uma plataforma para desenvolvimento e operação (_DevOps_) de software que reúne uma série de ferramentas úteis num projeto de desenvolvimento de software, como quadro de tarefas, repositório de código (Git), ferramentas de revisão de código, _pipeline_ de construção e implantação de entregas (releases), ferramentas de monitoramento, etc.
|
|
|
|
|
|
O GitLab pode ser usado diretamente pelo site http://gitlab.com (na nuvem) ou pode ser obtido e instalado em seu próprio servidor (_self-managed_), como feito em https://gitlab.labes.inf.ufes.br/.
|
|
|
|
... | ... | @@ -62,6 +62,28 @@ Em um contexto acadêmico, recomenda-se o professor administrador da plataforma |
|
|
|
|
|
A partir do uso do GitLab no contexto do LabES, temos as seguintes dicas para compartilhar:
|
|
|
|
|
|
### Projetos Públicos:
|
|
|
|
|
|
Após a instalação do GitLab, grupos e projetos são criados como privativos por padrão, exigindo que a pessoa tenha uma conta no GitLab e seja membro do projeto para poder abrir e ver o mesmo. Alguns projetos (como, por exemplo, o próprio [Catálogo do LabES](https://gitlab.labes.inf.ufes.br/labes/catalogo/)) devem estar abertos ao público em geral e, portanto, devem ser configurados como públicos.
|
|
|
|
|
|
Ao criar um repositório, é possível definir sua visibilidade em **Visibility Level**. Para um repositório já criado, é possível modificar sua visibilidade em **Settings > General > Visibility, project features, permissions > Project visibility**. As opções são **Private** (apenas para membros do projeto), **Internal** (para qualquer pessoa com conta no GitLab) ou **Public** (qualquer pessoa pode ver).
|
|
|
|
|
|
No entanto, quando vinculados a um grupo, projetos só podem ter visibilidade igual ou mais restrita do que a visibilidade do seu grupo. Para modificar a visibilidade do grupo, é preciso ter conta de administrador, acessar a área de administração em **Menu > Admin**, abrir **Overview > Groups** e pedir para editar o grupo em questão, modificando o campo **Visibility level**.
|
|
|
|
|
|
É possível também modificar a visibilidade padrão para novos projetos, também na área de administração, em **Settings > General > Visibility and access controls > Default project visibility** e dos grupos em **Default group visibility**.
|
|
|
|
|
|
### Integração com Outras Ferramentas:
|
|
|
|
|
|
Projetos podem ser integrados com outras ferramentas. Por exemplo, é possível pedir ao GitLab que envie mensagens no [Slack](https://slack.com/intl/pt-br/) sobre certos eventos ocorridos no projeto (ex.: foi feito um _commit_ no ramo principal).
|
|
|
|
|
|
Para configurar uma integração, deve-se abrir o projeto e seguir para **Settings > Integrations**. Dicas para integração de algumas ferramentas que usamos no LabES com o GitLab podem ser encontradas nas páginas do catálogo que descrevem estas ferramentas.
|
|
|
|
|
|
### Integração e Implantação Contínuas (CI/CD)
|
|
|
|
|
|
Vide [GitLab Pipelines](ferramentas/gitlab-pipelines) para instruções de como fazer CI/CD nos projetos.
|
|
|
|
|
|
Caso tenha algum projeto que não irá utilizar CI/CD, é interessante configurar o GitLab para não incluir uma _pipeline_ automática nos projetos. Na área administrativa, siga para **Settings > CI/CD**, expanda a seção **Continuous Integration and Deployment** e desmarque a opção **Default to Auto DevOps pipeline for all projects**.
|
|
|
|
|
|
### Instalação conjunta com o site do LabES:
|
|
|
|
|
|
Em sua primeira encarnação no LabES, o GitLab foi instalado no mesmo servidor que hospeda a [página do laboratório](http://labes.inf.ufes.br/). Neste caso, visto que o GitLab é baseado no servidor HTTP [nginx](https://nginx.org/) e o site do LabES estava sendo hospedado numa instância do servidor [Apache](https://httpd.apache.org/), ajustes tiveram que ser realizados no procedimento de instalação.
|
... | ... | @@ -187,22 +209,6 @@ $ gitlab-ctl reconfigure |
|
|
$ gitlab-ctl restart
|
|
|
```
|
|
|
|
|
|
### Projetos Públicos:
|
|
|
|
|
|
Após a instalação do GitLab, grupos e projetos são criados como privativos por padrão, exigindo que a pessoa tenha uma conta no GitLab e seja membro do projeto para poder abrir e ver o mesmo. Alguns projetos (como, por exemplo, o próprio [Catálogo do LabES](https://gitlab.labes.inf.ufes.br/labes/catalogo/)) devem estar abertos ao público em geral e, portanto, devem ser configurados como públicos.
|
|
|
|
|
|
Ao criar um repositório, é possível definir sua visibilidade em **Visibility Level**. Para um repositório já criado, é possível modificar sua visibilidade em **Settings > General > Visibility, project features, permissions > Project visibility**. As opções são **Private** (apenas para membros do projeto), **Internal** (para qualquer pessoa com conta no GitLab) ou **Public** (qualquer pessoa pode ver).
|
|
|
|
|
|
No entanto, quando vinculados a um grupo, projetos só podem ter visibilidade igual ou mais restrita do que a visibilidade do seu grupo. Para modificar a visibilidade do grupo, é preciso ter conta de administrador, acessar a área de administração em **Menu > Admin**, abrir **Overview > Groups** e pedir para editar o grupo em questão, modificando o campo **Visibility level**.
|
|
|
|
|
|
É possível também modificar a visibilidade padrão para novos projetos, também na área de administração, em **Settings > General > Visibility and access controls > Default project visibility** e dos grupos em **Default group visibility**.
|
|
|
|
|
|
### Integração com Outras Ferramentas:
|
|
|
|
|
|
Projetos podem ser integrados com outras ferramentas. Por exemplo, é possível pedir ao GitLab que envie mensagens no [Slack](https://slack.com/intl/pt-br/) sobre certos eventos ocorridos no projeto (ex.: foi feito um _commit_ no ramo principal).
|
|
|
|
|
|
Para configurar uma integração, deve-se abrir o projeto e seguir para **Settings > Integrations**. Dicas para integração de algumas ferramentas que usamos no LabES com o GitLab podem ser encontradas nas páginas do catálogo que descrevem estas ferramentas.
|
|
|
|
|
|
|
|
|
## Perguntas frequentes
|
|
|
|
... | ... | |