一、docker部署时,权限问题
docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins/jenkins:lts
- -privileged=true 让容器有root权限,方便进入容器操作
- -p 9090:8080 jenkins的web访问端口9090
- -v /home/jenkins:/var/jenkins_home 容器/var/jenkins_home路径映射到宿主机/home/jenkins
二、首次输入密码后卡在空白页不加载
这个是因为更新地址是国外的被墙了,需修改成国内的地址
在/home/jenkins目录找到文件 hudson.model.UpdateCenter.xml
先查看文件内容
[root@VM_0_2_centos jenkins]# cat hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
用vi编辑文件,修改
https://updates.jenkins.io/update-center.json
为http://mirror.xmission.com/jenkins/updates/update-center.json
修改之后:wq
保存退出
修改完成后重启下jenkins,在浏览器url地址后面加上 restart 重启jenkins ,如 http://ip:9090/restart
三、Jenkins插件下载速度慢、安装失败
先进入 http://ip:9090/pluginManager/advanced
插件管理页,原来的地址是https://updates.jenkins.io/update-center.json
改成:http://mirror.esuni.jp/jenkins/updates/update-center.json
修改default.json上面的地址改了之后,插件下载还是会很慢,
cd 到updates目录,找到default.json文件
[root@VM_0_2_centos jenkins]# cd updates/
[root@VM_0_2_centos updates]# ll
total 2068
-rw-r--r-- 1 1000 1000 1824566 Dec 29 16:20 default.json
-rw-r--r-- 1 1000 1000 5350 Dec 29 16:20 hudson.tasks.Maven.MavenInstaller
-rw-r--r-- 1 1000 1000 279724 Dec 29 16:47 hudson.tools.JDKInstaller
[root@VM_0_2_centos updates]# vi default.json
使用vi编辑文件,如下,替换所有插件下载的url
:1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
进入vi先输入:然后再粘贴上边的:后边的命令,注意不要写两个冒号!
修改完成保存退出:wq
重启Jenkins.
四、使用npm时,不能创建文件
npm install node-sass --unsafe-perm=true --allow-root
原因:
npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。
为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即是 root。
五、更改jenkins的根目录
cat /etc/profile
export JENKINS_HOME=/usr/local/apps/jenkins/home
生效命令:
source /etc/profile
六、jenkins配置ssh
进入系统管理的系统配置
选择pushish over SSH
构建任务是选择Send build artifacts over SSH
注意:这里的源路径是按本项目的路径为根目录
评论区