trac-GitolitePlugin é um plugin Trac que fornece integração bidirecional com gitolite: & nbsp; https: //github.com/sitaramc/gitolite.
1. Os usuários que não têm acesso a um repositório em Gitolite ler será impedido de ver esse repositório no navegador do Trac
2. admins Trac pode gerenciar permissões de repositório dos usuários com base em gitolite através da interface web Trac
3. admins Trac pode adicionar e remover SSH chaves públicas dos usuários através da interface web Trac para controlar o acesso ao sistema gitolite
4. admins Trac pode usar um recurso de "Create New Repository" para inicializar um repositório gitolite vazio através da interface web Trac
Instalação
Visão global
1. Instale Trac e Gitolite no mesmo servidor.
2. Certifique-se de que o usuário do sistema executando o processo Trac tem filesystem acesso de leitura a todos os repositórios gitolite no presente e futuro. A maneira mais simples de fazer isso é para executar Trac como o usuário gitolite; o caminho mais correto é adicionar Trac para o grupo principal do usuário gitolite e definir UMASK => 0027 em .gitolite.rc, bem como executando chmod para corrigir permissões nos arquivos já criados.
3. Certifique-se de que o usuário do sistema executando o processo Trac pode clonar e empurre o repositório gitolite-admin, através da criação de um par de chaves SSH para o usuário Trac, acrescentando que a chave pública para gitolite-admin / keydir e adicionando RW + (ou apenas RW) permissões para o usuário correspondente no gitolite-admin / conf / gitolite.conf para "repo gitolite-admin".
4. Diga-Trac sobre a existência do repositório gitolite-admin executando um comando como trac-admin repositório adicionar gitolite-admin $ GITOLITE_HOME / repositórios / git gitolite-admin.git
5. Instale o plugin trac_gitolite, permitir que os seus componentes em trac.ini e anteposta "GitolitePermissionPolicy" para configurações permission_policies trac.ini do seu site.
Instruções detalhadas
Primeiro, instale um servidor Trac e Gitolite nas formas convencionais. Eles devem ser instalados no mesmo servidor.
Você vai precisar para assegurar que Trac tem o acesso de leitura necessária para o diretório do sistema de arquivos que contém os seus repositórios gitolite. Se Trac está sendo executado como usuário "wsgi" e gitolite foi instalado para ser executado como usuário "git" com um diretório de usuário / home / git / você provavelmente vai querer executar um comando em seu servidor como este:
sudo usermod -a -G git wsgi
sudo chmod -R g + RX / home / git / repositórios /
Você também vai precisar para assegurar que Trac pode continuar a ler todos os arquivos necessários ao longo do tempo. Uma maneira de fazer isso é para definir a configuração UMASK em .gitolite.rc para 0027. Outra forma seria a de definir a configuração de repositório core.sharedRepository = grupo em todas as existentes e novos repositórios (incluindo gitolite-admin), utilizando um modelo de repositório.
Agora Trac será capaz de ler a partir de seus repositórios gitolite usando suas características repositório padrão.
Em seguida, você precisa adicionar o próprio repositório gitolite-admin para Trac. Isso permitirá que Trac para ler arquivos de configuração diretamente do repositório gitolite-admin usando suas próprias APIs de controle de versão. Faça isso com uma linha de comando:
trac-admin / path / to / env / repositório adicionar gitolite-admin git /home/git/repositories/gitolite-admin.git
A partir de agora, para adicionar um repositório gitolite existente chamado "meu-primeiro-repo" ao seu sistema Trac, você poderia adicionar um repositório git Trac chamado "meu-primeiro-repo" com diretório / home / git / repositórios / my-primeiro -repo.git através da interface do Trac norma administrativa web, shell scripts, ou arquivos de configuração.
Em seguida, você terá de conceder o usuário do sistema Trac permissões de leitura e gravação no repositório gitolite-admin através de si mesmo gitolite. Isto é como Trac vai escrever as alterações no seu sistema Gitolite (usuário baseada na web, permissão e gerenciamento de repositório) - que irá clonar o repo gitolite-admin, escrever as alterações, cometer e empurrá-los de volta para o servidor.
Para fazer isso - mais uma vez que se admita que Trac está sendo executado como usuário "wsgi" - você vai executar comandos no servidor assim:
sudo su wsgi
ssh-keygen
saída
cd / tmp /
git clone git @ localhost: gitolite-admin.git
cd / tmp / gitolite-admin /
echo "repo gitolite-admin
& Nbsp; RW + = wsgi ">> ./conf/gitolite.conf
sudo cp ~ wsgi / .ssh / id_rsa.pub ./keydir/wsgi.pub
git add keydir / wsgi.pub conf / gitolite.conf
git commit -m "configurar permissões trac_gitolite"
git push
Finalmente, permitir que os componentes trac_gitolite em trac.ini para o seu site:
[componentes]
trac_gitolite. * = enabled
Isto irá adicionar três novos painéis para a seção "Controle de Versão" no Trac administrador. Para ativar, adicionalmente, a diretiva de permissão, adicione ao seu trac.ini:
[Trac]
permission_policies = GitolitePermissionPolicy, AuthzPolicy,
& Nbsp; DefaultPermissionPolicy, LegacyAttachmentPolicy
Configuração
Padrões sensíveis são fornecidos que deve funcionar para instalações mais típicas de Trac e Gitolite. As seguintes opções trac.ini (todos em uma seção [trac-gitolite]) pode ser modificado se necessário:
- Admin_reponame: defaults para gitolite-admin; este é o nome em trac do repositório gitolite-admin
- Admin_real_reponame: defaults para gitolite-admin; este é o nome em gitolite do repositório gitolite-admin
- admin_ssh_path: padrão para git @ localhost: gitolite-admin.git
- Admin_system_user: o padrão é "trac"; este é o nome em gitolite do usuário do sistema executando o processo web trac
- Default_private: o padrão é True; quando definida como True (o padrão) repositórios conhecidos Trac que estão faltando gitolite.conf não será visível através do navegador fonte do Trac a quaisquer usuários. Defina esta opção para False para adiar permissões desses repositórios para o resto do sistema de permissão de Trac.
- All_includes_anonymous: o padrão é False; Quando definido como verdadeiro, repositórios comall = R em gitolite.conf será visível através da web por usuários anônimos. O padrão é fazer com que esses repositórios visível por todos registrados apenas os usuários
O que é novo nesta versão:.
- Corrigido erro na versão anterior.
Requisitos :
- Python
- Trac
Comentários não encontrado