【发布时间】:2019-01-30 16:00:05
【问题描述】:
我正在尝试自动化我们的 conda 构建过程,尝试让它在 docker 镜像中运行,该镜像在 jenkins 中运行。但是,当我们的工具尝试访问目录时,我遇到了权限错误。
当我在本地机器上运行该工具时,我没有收到任何错误。
詹金斯错误: PermissionError: [Errno 13] Permission denied: '/home/build-dir/work'
用于创建 docker 镜像的 Docker 文件包含:
RUN \
sudo -E mkdir /home/build-dir/ \
&& sudo -E chmod 666 /home/build-dir/ \
&& sudo -E mkdir /home/build-dir/work/ \
&& sudo -E chmod 666 /home/build-dir/work/ \
&& /home/jenkins/miniconda3/bin/conda install conda-build \
&& /home/jenkins/miniconda3/bin/conda env create --name molPy -f /linux-environment.yml
詹金斯文件:
#!/usr/bin/env groovy
node {
image = docker.image("x.com/molpy:dev")
image.pull()
image.inside("--privileged") {
withEnv(['HOME=.']) {
stage ('Checkout Code') {
checkout scm
sh 'git branch'
sh 'git log HEAD^..HEAD'
}
stage ('Conda Build') {
try {
sh 'echo $PWD'
sh 'bash -c "source /home/jenkins/miniconda3/bin/activate molPy && open-builder --build-dir=\'/home/build-dir/\' --output-dir=\'/home/output-dir\' --conversions=osx-64"'
} catch(err) {
currentBuild.result = "FAILED"
throw err
}
}
}
}
}
【问题讨论】: