Jenkins como root não pode criar pasta

1

Eu tenho uma instância do Jenkins em execução que deve criar um projeto Android. Quando inicio a tarefa, recebo a seguinte exceção:

  

Não foi possível criar o serviço do tipo ScriptPluginFactory usando   BuildScopeServices.createScriptPluginFactory ()

     

Falha ao criar o diretório pai   '/home/espresso/jenkins_workspace/workspace/myproject/.gradle' quando   criando diretório   '/home/espresso/jenkins_workspace/workspace/myproject/.gradle/4.1/fileHashes'

Jenkins é executado como root, ls -la da pasta myproject é:

drwxr-xr-x 11 root root 4096 Nov 16 15:07 myproject

A variável de ambiente GRADLE_USER_HOME está definida como /home/espresso/.gradle , ls -la para essa pasta:

drwxrwxrwx   6 root     root       4096 Nov 16 11:30 .gradle

Por que o Jenkins não pode criar essa pasta? Toda a estrutura de diretório em jenkins_workspace foi criada por Jenkins, então as permissões devem estar bem?

    
por asco 16.11.2017 / 15:48

1 resposta

1

Tudo funciona bem depois de marcar a caixa

Force GRADLE_USER_HOME to use workspace

no Plugin Jenkins Gradle .

Por que isso faz funcionar, eu não sei. A variável de ambiente $GRADLE_USER_HOME da tarefa foi definida como /home/espresso/.gradle e a tarefa, como raiz, tinha todas as permissões para essa pasta. Além disso, não entendo porque a falta de permissões em uma pasta do gradle levaria o trabalho a não ser capaz de criar arquivos na pasta outro gradle.

    
por asco 17.11.2017 / 13:33