Drew DeVault, autor do ambiente do usuário e cliente de email , sobre a implementação de um hub de projetos na plataforma de desenvolvimento colaborativo que ele está desenvolvendo . Agora, os desenvolvedores podem criar projetos que vários serviços, além de poder visualizar projetos existentes e fazer busca entre eles.
A plataforma SourceHut se destaca pela capacidade de operar completamente sem JavaScript, alta performance e a organização do trabalho em mini-serviços no estilo Unix. A funcionalidade do projeto em SourceHut é composta por componentes separados que podem ser combinados e usados individualmente, por exemplo, apenas tickets ou apenas código sem a necessidade de vincular um repositório com tickets. A possibilidade de combinar recursos livremente torna difícil determinar quais recursos pertencem a um projeto. O hub de projetos resolve esse problema e permite reunir todas as informações relacionadas ao projeto em um só lugar. Por exemplo, em uma única página de projeto agora é possível colocar uma descrição geral e listar os repositórios que fazem parte do projeto, seções de rastreamento de erros, documentação, canais de suporte e listas de discussão.
Para a integração com plataformas externas, é oferecida uma API e um sistema de conexão via webhooks. Entre as funcionalidades adicionais, o SourceHut suporta wiki, sistema de integração contínua, discussões baseadas em email, visualização em árvore de arquivos de email, revisão de mudanças pela Web, adição de anotações ao código (anexação de links e documentação). Além do Git, há suporte ao Mercurial. O código é escrito nas linguagens Python e Go, e sob a licença GPLv3.
é possível criar repositórios públicos, privados e ocultos com um sistema flexível de controle de acesso, permitindo a participação no desenvolvimento, inclusive de usuários sem contas locais (autenticação via OAuth ou através de email). Para informar e coordenar correções de vulnerabilidades, há um sistema de relatórios privados de problemas. Os emails enviados por cada serviço são criptografados e verificados usando PGP. A autenticação de dois fatores é aplicada com base em chaves únicas TOTP. Para analisar incidentes, é mantido um log de auditoria detalhado.
A infraestrutura integrada de integração contínua permite
a execução de compilações automatizadas em ambientes virtuais em diversos sistemas Linux e BSD. A transmissão direta para CI de trabalhos de compilação é permitida sem a necessidade de armazená-los em um repositório. Os resultados da compilação são exibidos na interface, enviados por e-mail ou transmitidos por meio de um webhook. Para análise de falhas, é possível conectar-se aos ambientes de compilação via SSH.
Neste estágio de desenvolvimento, o Sourcehut está mais rápido que os serviços concorrentes, por exemplo, páginas com informações resumidas, listas de commits, logs de mudanças, visualização de código, issues e árvore de arquivos abrem de 3 a 4 vezes mais rápido que GitHub e GitLab, e de 8 a 10 vezes mais rápido que Bitbucket. Vale ressaltar que o Sourcehut ainda não saiu da fase de desenvolvimento alfa e muitos recursos planejados ainda não estão disponíveis, por exemplo, ainda não há uma interface web para solicitações de mesclagem (um merge request é criado através da abertura de um ticket e anexação do link para o branch desviado no Git). Uma desvantagem também é a interface peculiar, não familiar para usuários de GitHub e GitLab, mas que, no entanto, é simples e imediata.
Fonte: opennet.ru
