Estou ciente de várias ferramentas / serviços que fornecem navegação e gerenciamento DVCS, como Bitbucket , Github , Kiln , SCM-Manager e Rhodecode .
No entanto, o caso de uso que estou considerando é um dos seguintes:
- Qualquer código-fonte deve residir nos servidores internos do empregador.
- A solução deve ser de código aberto.
- Ele deve fornecer uma experiência semelhante ao Bitbucket ou Github, incluindo um wiki do projeto, navegação e gerenciamento de repositório e aspectos de codificação social, como revisão de código.
- A solução deve ter suporte mercurial (se não houver suporte para outros DVCSs).
Destes, apenas o SCM-Manager e o RhodeCode se aproximam, pois podem ser instalados em seus próprios servidores e são de código aberto. No entanto, eles não têm a experiência Bitbucket ou Github. Não há rastreador de problemas ou wiki e a interface do usuário, embora funcional, não é compatível com o Github ou o Bitbucket.
Posso me aproximar do Trac ou Redmine com seus navegadores de repositório, mas infelizmente eles não têm nenhum recurso de gerenciamento de repositório.
Existem outras ferramentas de código aberto por aí que proporcionariam uma experiência semelhante ao Bitbucket, Github ou Kiln?
fonte
Respostas:
Eu daria uma olhada no Fossil. É o sistema que os desenvolvedores do sqlite usam, internamente, aparentemente. Ele também usa o sqlite, que é uma boa tecnologia sólida ... agradável e portátil - além de simples e confiável.
Ele tem uma interface de usuário boa e austera (que eu acho que comporta a natureza de um objetivo orientado à produtividade, como você descreve). ((Não deixe de conferir o tema "cinza". É muito menos "roteador-administrador" do que o "tema" padrão, se é que você pode chamar assim).)) Fui atraído por isso por causa de suas raízes como CGI sistema baseado, porque eu sou um otário para CGI. Os resultados dessa herança são realmente muito interessantes, pois esse sistema possui um modo JSON-ONLY muito exclusivo, com todos os tipos de possibilidades de implementação interessantes.
Eles mencionam isso - mas vale a pena repetir que ele possui 0 dependências. Sem php, sem mySQL, sem python. Nada. É o seu próprio executável binário - e funciona em muitas plataformas. Desejo que mais projetos "pensem" da mesma maneira.
Eu não sou afiliado a eles, por isso, simplesmente citará as elogios de suas páginas de abertura , as quais geralmente concordo .. também dê uma olhada nas perguntas e críticas .
Atualização: em vez de fazer alusão à interface, aqui está uma rápida visão dela ... Como você pode ver, é definitivamente simples .. Mas isso também significa uma lista limpa para personalização .. Apenas uma única folha de estilo e um cabeçalho / rodapé / tipo de corpo sistema de modelos. Melhor escrever uma história curta do que reescrever o livro de outra pessoa, a IMO.
fonte
O Gitorious é de código aberto e você pode instalá-lo em seu próprio servidor usando scripts fornecidos pela edição da comunidade Gitorious (consulte http://www.getgitorious.com/installer ). Gitorious agora tem suporte para wikis e rastreamento de problemas. Há também uma imagem do Docker disponível para colocá-la em execução rapidamente.
Outra opção seria o Gitlab, que é basicamente um clone do GitHub, não tão maduro quanto vitorioso, mas está em desenvolvimento pesado com lançamentos mensais.
Você também pode conferir mais opções aqui
fonte
Suas restrições são bem específicas, mas acho que você pode obter os resultados que deseja com os plugins ChiliProject +.
O ChiliProject é um fork do Redmine que usa versões atualizadas do Ruby / Rails. Ele suporta git e mercurial muito bem, e replica a funcionalidade Github Issues que parece que você está procurando analisando mensagens de confirmação (ou seja,
refs 291
em uma confirmação vincularia uma confirmação à edição # 291).Também existem plugins Redmine / ChiliProject que fornecem recursos como revisão de código, destaque de sintaxe e outras sutilezas fornecidas pelo Github, etc. que podem não estar óbvia ou prontamente disponíveis nos concorrentes de código aberto.
Existem outras opções, JIRA, etc., mas elas (IMHO) não fornecem a facilidade ou a riqueza de funcionalidades que o fork do ChiliProject do Redmine + a infinidade de plugins disponíveis. Não há muito o que o Github e / ou o BitBucket façam por você que o ChiliProject (possivelmente com plugins disponíveis gratuitamente) não possa fazer; e a beleza é que, se ela ainda não existe, geralmente é bastante trivial implementá-la.
Se isso soa como mais do que você precisa ... Eu ainda não tentei, mas o GitLab também parece interessante ... não parece ter a arquitetura de extensibilidade ou plug-in do Redmine / Chili, mas se você estiver procurando para um clone de código aberto do Github com a maioria dos recursos principais (e você não precisa suportar vários DVCSs), parece muito bom.
fonte
Allura http://sf.net/p/allura deve caber na conta. É a plataforma para todos os projetos novos (ou atualizados) do SourceForge e é de código aberto. Ele suporta Mercurial e wikis, além de muitas outras ferramentas (Git, SVN, rastreador de tickets, fóruns, etc.). Ele não possui "revisão de código", mas suporta solicitações de bifurcação e mesclagem para repositórios Mercurial e Git.
É escrito em Python e usa MongoDB e Solr para armazenamento de dados.
Allura também está atualmente na Incubadora Apache: http://incubator.apache.org/projects/allura.html
Trabalho para o SourceForge e ajudo a desenvolver o Allura.
fonte
Para exatamente o mesmo problema no trabalho, usamos um ecossistema composto por:
A integração do DVCS no Redmine melhorou aos trancos e barrancos nas versões posteriores, atualizei algumas semanas atrás e estou extremamente satisfeito por a maioria das "dicas" desaparecerem.
Eu executo os servidores Redmine e RhodeCode no mesmo host porque o Redmine ainda não suporta repositórios de HG remotos. Jenkins é executado em vários outros hosts.
Eu uso um gancho RhodeCode para acionar puxões mercuriais no Redmine. Não posso usar um gancho para puxar Jenkins por causa do JENKINS-13717 , mas já enviei um patch para isso e acho que ele será aceito rapidamente. Enquanto isso, apenas pesquiso os repositórios de HG a cada poucos minutos.
Tudo é executado no Debian 6.0 sobre proxy reverso Nginx para obter a terminação SSL (tudo isso é usado apenas sobre SSL). Recentemente, todo o pacote foi movido para um cluster ProxMox para virtualizar tudo com ótimos resultados até o momento. Caso você não conheça o produto, dê uma olhada nele. É um daqueles " Eu não acredito que isso existe e eu não sabia disso e OMG também é de código aberto! ". Executamos esses serviços em contêineres OpenVZ que são facilmente migrados de um host para outro para reparos / atualizações de hardware. No mesmo cluster, também executamos várias máquinas virtuais KVM para testes automatizados em plataformas Windows.
Estou extremamente feliz com este ecossistema. Ele melhorou a capacidade da nossa equipe de desenvolvimento / controle de qualidade de reproduzir problemas e rastrear alterações por uma enorme margem. Apenas alguns avisos:
commit:abcd1234
.Não hesito em recomendar essa configuração, pois estou extremamente feliz com ela. Se você precisar de ajuda para configurar um serviço específico ou quiser dar uma olhada nos meus arquivos de configuração, não hesite em perguntar.
fonte
Dê uma olhada no cydra: https://github.com/mensi/cydra com suporte para
Ele funciona em uma abordagem baseada em projeto, que permite criar um projeto e atribuir vários repositórios a ele (no máximo um repositório SVN). A autenticação é baseada em plugins individuais (nós a integramos ao nosso LDAP).
Nós o usamos para nossa plataforma de codificação https://code.vis.ethz.ch . No momento, não há suporte para a revisão de código, mas ele pode ser facilmente adicionado como um plug-in.
Não consigo postar capturas de tela porque não tenho reputação suficiente.
fonte
Considere usar o GitLab https://about.gitlab.com/, pois ele atende à maioria dos seus requisitos:
Ele também possui um bom rastreador de problemas ou você pode vincular a um rastreador de problemas externo. Você pode testar suas solicitações de mesclagem com o GitLab CI, se desejar. O GitLab tem crescido rapidamente e está sendo usado por mais de 25.000 organizações.
Divulgação: Sou o CEO e co-fundador da GitLab BV
fonte