csvn代码提交到gitlab,之后通过gitlab ci进行了持续集成。通过dockerfile中的启动文件为run.sh。生成镜像后,在linux上,docker start 镜像实例。之后在创建版本库的时候,出现
warning: Can't open file '/root/.subversion/servers': Permission denied
warning: Can't open file '/root/.subversion/servers': Permission denied
经后来发现,当进入docker实例后,先停止该csvn
xx/bin/csvn stop
xx/bin/csvn-httpd stop
之后再次启动,则无该问题。
解决方案:
(1)通过其他正常环境把 .subversion这个文件压缩包,之后放到该实例中,并赋予权限。
(2)发现如果切换到csvn 用户,之后运行run.sh,发现无法运行。出现:
user is not in the sudoers file. This incident will be reported.
此时需要处理如下:
root用户:
chmod u+w /etc/sudoers
vim /etc/sudoers
vim /etc/sudoers 编辑文件,在root ALL=(ALL)ALL行下添加XXX ALL=(ALL)ALL,XXX为你的用户名。
恢复sudoers原先的权限:chmod 0440 /etc/sudoers
之后用csvn 用户启动run.sh即可解决问题。