Privilégios para jenkins na pasta do apache

1

Estou tendo um problema semelhante a este: Como copiar arquivos como Jenkins" post build "ação se eu não tiver privilégios para o diretório de destino

Estou disposto a mover / copiar / arquivos rsync do espaço de trabalho Jenkins para

/var/www/app

com direitos definidos para

apache:apache

Adicionei o jenkins ao grupo apache , mas a instância do jenkins não pode copiar arquivos para / var / www / app.

Eu também tentei configurar privilégios de / var / www / app para o apache: jenkins, mas ainda assim, Jenkins continua cuspindo erro: Permissão negada ou Operação não permitida

PS: Esqueceu de adicionar o SO é o centOS;)

EDIT 1: Este é o log do runnig do script jenkins:

[workspace] $ /bin/sh -xe /tmp/hudson1379987233097some_more_numbers.sh + sh /path_to_sh_script/script.sh sending incremental file list

application/

rsync: failed to set permissions on "/var/www/app/application": Operation not permitted (1)

E este é o script em si:)

#!/bin/bash

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/application /var/www/app ;

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/library /var/www/app ;

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/public /var/www/app ;

    
por Mr.TK 15.05.2014 / 12:26

3 respostas

2

Após uma longa e proveitosa discussão nos comentários e seguindo este link usuário conseguiu resolver o problema adicionando

--no-perms --omit-dir-times

para as opções rsync .

Tentativas preliminares para resolver o problema:

Eu acho que se a segurança não lhe diz respeito por um curto período de tempo, você pode tentar

chmod a+rwx /var/www/app 

e tente gravar neste diretório. Observe que, se houver subdiretórios, você deverá fazê-lo recursivamente com:

chmod --recursive a+rwx /var/www/app 

Se for bem-sucedido, você poderá começar a remover as permissões gradualmente e isso ajudará você a identificar o problema.

Verifique se o usuário jenkins já é um membro do grupo do apache com

groups apache
    
por 27.05.2014 / 13:55
0

Primeiro, adicione seu servidor Linux ou apache ao servidor Jenkin com SSH com troca de chaves ssh. E crie um usuário no servidor linux / apache com um usuário como jenkin (usuário unix). Porque se você fizer ssh para puxar / empurrar arquivo, o jenkin usa 'jenkin' como usuário padrão.

Adicionar usuário do apache ao grupo jenkin no unix pode ser útil.

    
por 22.05.2014 / 15:00
0

Eu tive um problema semelhante. Eu queria escrever para / var / www em localhost em Jenkins. No meu servidor / var / www é de propriedade de www-data, então eu adicionei jenkins ao grupo www-data e tornei o grupo / var / www gravável, mas continuei recebendo permissão de erro negado. Simplesmente reiniciar o serviço jenkins resolveu o problema para mim.

    
por 24.07.2017 / 20:56