安装/运行jenkins容器
|
|
docker文件权限错误处理
错误信息:
touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?错误原因:docker容器的拥有者是jenkins
通过-v /var/jenkins_home:/var/jenkins_home
挂载的/var/jenkins_home
文件夹拥有者是root错误验证:
查看容器用户
1234sudo docker run -ti --rm --entrypoint="/bin/bash" jenkins -c "whoami && id" jenkinsjenkinsuid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins)查看容器内
/var/jenkins_home
目录拥有者1234567sudo docker run -ti --rm --entrypoint="/bin/bash" jenkins -c "ls -la /var/jenkins_home"total 16drwxr-xr-x 2 jenkins jenkins 4096 Sep 28 06:16 .drwxr-xr-x 12 root root 159 Sep 14 06:32 ..-rw-r--r-- 1 jenkins jenkins 220 May 15 19:45 .bash_logout-rw-r--r-- 1 jenkins jenkins 3526 May 15 19:45 .bashrc-rw-r--r-- 1 jenkins jenkins 675 May 15 19:45 .profile
错误处理:
将主机的/var/jenkins_home
的拥有者修改为uid 100012sudo chown -R 1000 jenkins_homedocker start jenkins
镜像启动后报错:Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
权限错误处理办法: http://blog.csdn.net/yulei_qq/article/details/53228601
安装后
运行成功后如果是在服务器上,通过服务器ip或域名 + 映射的主机端口号(如:49001)访问会有一个页面
根据页面的指令拷贝/var/jenkins_home/secrets/initialAdminPassword
到页面中
Administrator password
由于是第一次使用jenkins所以选择了建议的
系统管理
安装
Publish Over SSH
插件
在可选插件中搜索Publish Over SSH
,直接安装安装完毕之后我们需要重启Jenkins
重启完成之后,我们就需要对插件进行设置了。进入 系统管理>系统设置。首先为了连接到我们的远程服务器,我们需要添加服务器配置。找到你得Publish over SSH插件栏
2.在docker中密钥对
- 将密钥粘贴到jenkins的配置中,或者设置密钥的路径
- 将公钥粘贴到服务器对应下面
ssh serve
配置的username的authorized_keys
文件中
如果你用的是docker容器,需要进到容器里面生成密钥和公钥
在服务器的机器人上生成ssh密钥对1ssh-keygen -t rsa
构建账号没有root密码:
sudo: no tty present and no askpass program specified
由于帐号并没有开启免密码导致的
假设当前帐号为abc
切换到root下
1 打开sudoers
vi /etc/sudoers
2 添加免密码
abc ALL = NOPASSWD: ALL