Problema de permissão do Git / Jenkins

0

SO: servidor Ubuntu 10.04 LTS

Eu tenho um problema estranho acontecendo com permissões e não consigo rastrear o que está causando isso.

A configuração é a seguinte:

As pastas do Git Repository (e arquivos nelas) são de propriedade de root, e o grupo que usamos para os projetos tem direitos rws, por exemplo:

   ll /path/to/project
   drwxrwsr-x 7 root project                4096 2013-03-14 19:19 project

Nosso usuário jenkins é membro de todos os grupos que criamos para os projetos, incluindo o do exemplo. O aplicativo jenkins é iniciado pelo usuário jenkins para garantir que ele tenha acesso total às pastas do projeto.

Se eu remover os direitos de leitura e execução de "outros" nessas pastas git, nossas compilações falharão, declarando:

 fatal: '/path/to/project' does not appear to be a git repository

ps: não há SELinux em jogo

    
por Jake 25.06.2014 / 14:55

1 resposta

1

Suponho que sejam suas permissões com subdiretórios dentro do repositório.

# Set the same ownerships for every file and directory within the repository
sudo chown -R root:project /path/to/project

# Remove permissions for others on all files
sudo chmod o-rwx $(find /path/to/project -not -type d)

Se você quiser que os membros do grupo gravem alterações:

# Set permissions for all subdirectories
sudo chmod 2770 $(find /path/to/project -type d)

Se você quiser que os membros do grupo tenham acesso somente leitura:

# Remove write permissions for group members for every file
sudo chmod g-w $(find /path/to/project -not -type d)

# Set permissions for all subdirectories
sudo chmod 2750 $(find /path/to/project -type d)

Agora, desde que o usuário do jenkins seja um membro do grupo de projetos, ele deve ser capaz de clonar o repositório git sem problemas.

No entanto, se você tiver o SELinux ativado em seu sistema, as coisas podem ficar um pouco mais complicadas.

Codificação feliz:)

    
por 21.07.2014 / 06:27