尝试构建作业时在Docker中运行Jenkins时出错

时间:2020-07-06 06:31:54

标签: docker jenkins

我正在尝试使用Docker compose将Jenkins运行到Docker中,当我尝试构建作业时,Jenkins向我展示了下一个错误:

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

这是Docker组成的

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:

这是我的Docker文件:

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

有人可以帮助我吗?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

您容器中的用户jenkins无权访问主机上的文件夹C:\Users\cpaez\Documents\Automation\MOM\JSFiles。鉴于您的docker-compose.yml可能是由以下任一原因引起的:

  • 该目录在您的容器中不存在(根据要安装的卷),您可以尝试添加
    volumes:
       - jenkins_home:/var/jenkins_home
       - /c/Users/cpaez/Documents/Automation/MOM/JSFiles:/c/Users/cpaez/Documents/Automation/MOM/JSFiles
      
  • 确保此文件夹具有足够的权限供容器中的jenkins用户写入该目录(您的容器将按照USER jenkins的说明以该用户身份运行)