
Jenkins está instalado no Ubuntu 18.04 e funcionando com sucesso.
Como parte do processo de construção do nosso projeto, precisamos copiar os arquivos construídos para uma pasta específica em /var/www/html
(pasta Apache). Nosso shell de construção/execução:
npm install
ng build --prod
cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/* /var/www/html/kagi-core/
Mas a compilação do jenkins falha no comando de cópia final com os seguintes erros:
23:18:10 + cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/3rdpartylicenses.txt /var/lib/jenkins/workspace/kagi-core/dist/core/assets ...
23:18:10 cp: cannot create regular file '/var/www/html/kagi-core/3rdpartylicenses.txt': Permission denied
...
...
Aqui está o que fizemos/tentamos até agora:
Adicionado usuário "jenkins" aos grupos root e ubuntu.
ubuntu@ip-172-31-15-215:/var/www/html$ groups jenkins jenkins : jenkins root ubuntu
Permissões alteradas nas pastas /var/www/html/kagi-core para o usuário “jenkins”
drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www .. drwxr-xr-x 3 ubuntu jenkins 4096 Sep 18 21:04 html .. drwxrwxrwx 4 ubuntu jenkins 4096 Sep 18 21:18 kagi-core
O que estamos perdendo? Agradeço qualquer ajuda!
Responder1
Ao tentar consertar isso, encontrei a solução. Adicionando aqui para referência:
Ao observar atentamente, as permissões para /var/www
pastas, elas são tão
drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www
mas em vez disso, eles deveriam ser o contrário (permitir o usuário "jenkins" no grupo padrão):
drwxr-xr-x 3 jenkins ubuntu 4096 Sep 17 21:36 www
Também redefinimos o grupo para o padrãoroot
Então o comando que resolveu o problema foi
cd /var
sudo chown -R jenkins:root www/
Depois disso, as compilações do Jenkins foram bem-sucedidas (capazes de copiar para a /var/www/html
pasta).