Jenkins的Gcloud磁盘权限

时间:2018-01-10 19:28:41

标签: docker jenkins kubernetes google-cloud-platform gcloud

如何在gcloud中配置磁盘的权限: 我有一个kubernetes集群。我创建了一个持久性磁盘:

$ gcloud compute disks create --size 30GB jenkins-disk --zone europe-west1-c

我的部署内容.yaml:

volumeMounts:
- mountPath: /var/jenkins_home
  name: jenkins-storage
  volumes:
  - name: jenkins-storage
    gcePersistentDisk:
      pdName: jenkins-disk
      fsType: ext4

错误:

touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

我是否需要为我的jenkins用户提供写入权限以写入磁盘?我该如何配置?

1 个答案:

答案 0 :(得分:0)

使用Jenkins的这张图片而不是部署中的最新版本https://hub.docker.com/r/wsimmonds/jenkins-kubernetes/

此图片说明:

尝试使用挂载到/ var / jenkins_home的持久卷运行默认的Jenkins映像(或jenkinsci / jenkins)将失败:

2016-06-10T13:46:55.617454157Z触摸:无法触及'/var/jenkins_home/copy_reference_file.log':权限被拒绝 2016-06-10T13:46:55.617955276Z无法写入/var/jenkins_home/copy_reference_file.log。错误的卷权限?

原因? Kubernetes卷目前以root用户身份挂载,Jenkins默认运行为“jenkins”(https://github.com/jenkinsci/docker/blob/master/Dockerfile)。临时解决方法以root身份运行Jenkins - 除非您知道自己在做什么并完全控制正在构建的代码,否则我不建议使用生产。