简体   繁体   中英

Error while running Jenkins in Docker when I try to build a Job

I am trying to running a Jenkins into a Docker using a Docker compose and when i try to build a job Jenkins shows me the next error:

Salida de consola
Started by user admin
Running as SYSTEM
Building in workspace C:\Users\cpaez\Documents\Automation\MOM\JSFiles
java.nio.file.AccessDeniedException: /C:\Users\cpaez\Documents\Automation\MOM\JSFiles
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
    at java.nio.file.Files.createDirectory(Files.java:674)
    at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
    at java.nio.file.Files.createDirectories(Files.java:767)
    at hudson.FilePath.mkdirs(FilePath.java:3260)
    at hudson.FilePath.access$1300(FilePath.java:211)
    at hudson.FilePath$Mkdirs.invoke(FilePath.java:1251)
    at hudson.FilePath$Mkdirs.invoke(FilePath.java:1247)
    at hudson.FilePath.act(FilePath.java:1075)
    at hudson.FilePath.act(FilePath.java:1058)
    at hudson.FilePath.mkdirs(FilePath.java:1243)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1200)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
    at hudson.model.Run.execute(Run.java:1880)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:428)
Finished: FAILURE

This is Docker compose:

version: '2'
services:
  master:
    build: .
    image: jenkins/jenkins:latest
    restart: unless-stopped
    hostname: jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home
 
volumes:
  jenkins_home:

And this is my Docker file:

FROM jenkins/jenkins
 
USER SYSTEM
RUN apt-get -y update && apt-get install -y maven
 
USER jenkins
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt

Anyone can help me? Thank you in advance.

User jenkins in your container does not have access to folder C:\Users\cpaez\Documents\Automation\MOM\JSFiles on your host. Given your docker-compose.yml it's probably caused by either:

  • This directory does not exists in your container (as per the volume you are mounting), you may try to add
    volumes:
       - jenkins_home:/var/jenkins_home
       - /c/Users/cpaez/Documents/Automation/MOM/JSFiles:/c/Users/cpaez/Documents/Automation/MOM/JSFiles
      
  • Ensure this folder has enough permission for jenkins user in your container to write this directory (your container will run as this user as per the USER jenkins instruction)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM