Centos7.6 安装jenkins 与相关配置
在腾讯云服务器 centos7.6 下安装jenkins,采用yum方式安装。
1. 添加Jenkins库到yum库,Jenkins将从这里下载安装。
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install -y jenkins
如果安装时报 No package jenkins available. 就升级yum yum update
2.安装后 修改jenkins配置。改端口号等
vim /etc/sysconfig/jenkins
JENKINS_PORT="8181" #此端口不冲突可以不修改
# 修改jenkins访问前缀,默认是ip:port ,这样的话用nginx做反向代理会有一些问题。
JENKINS_ARGS="--prefix=/jenkins"
安装完成之后,默认会添加一个jenkins系统用户,并用此用户来运行jenkins,但是我们的jenkins在执行任务的时候,往往还需要执行很多脚本文件,这个时候就会遇到权限问题,此时就需要给jenkins用户授予相关目录的读写权限,以及执行的权限。
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/log/jenkins
chown -R jenkins:jenkins /var/run/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
3.启动jenkins服务
# 启动
service jenkins start
#停止
service jenkins stop
#重启
service jenkins restart
4.错误相关及解决
如果启动的时候报如下错误
ec 01 22:55:24 VM-0-10-centos systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 01 22:55:24 VM-0-10-centos jenkins[14533]: Starting Jenkins File "/usr/bin/java" is not executable.
Dec 01 22:55:24 VM-0-10-centos jenkins[14533]: [FAILED]
Dec 01 22:55:24 VM-0-10-centos systemd[1]: jenkins.service: control process exited, code=exited status=1
Dec 01 22:55:24 VM-0-10-centos systemd[1]: Failed to start LSB: Jenkins Automation Server.
Dec 01 22:55:24 VM-0-10-centos systemd[1]: Unit jenkins.service entered failed state.
Dec 01 22:55:24 VM-0-10-centos systemd[1]: jenkins.service failed.
是java环境配置的问题。
查看jenkins配置
vi /etc/init.d/jenkins
jenkins
第一种解决方式是吧/usr/java/bin 修改为 服务器java的安装路径;
第二种是建立软连接
ln -s /usr/local/jdk1.8.0_161/bin/java /usr/bin/java
然后再重启,成功。
[root@VM-0-10-centos /]# ln -s /usr/local/jdk1.8.0_161/bin/java /usr/bin/java
[root@VM-0-10-centos /]# systemctl start jenkins
Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@VM-0-10-centos /]# systemctl daemon-reload
[root@VM-0-10-centos /]# systemctl restart jenkins
5. 修改腾讯云服务器防火墙。添加规则,开放8181端口。
6.访问 Jenkins,进行初始化(解锁)操作。
http://[IP]:[port]
初始界面
根据提示查看Jenkins服务器该路径下的文档,复制密码到Jenkins后点击【继续】
cat /var/lib/jenkins/secrets/initialAdminPassword
等待安装完成,就可以使用jenkins了。
后续问题:
在jenkins部署项目到docker容器的时候出现 Permission denied 。
image.png
docker用户没有权限,解决办法如下:
把jenkins用户,加到docker用户组
如果没有docker用户组,先创建用户组:
查看用户组
vim /etc/group
groupadd docker
添加jenkins用户到用户组:
usermod -a -G docker jenkins
-a<追加> 必须与-G选项一起使用,把用户追加到某些组中。
-G<群组> 修改用户所属的附加群组。
如果还报错,修改docker.sock 文件的权限
cd /var/run
chmod 777 docker.sock
发布成功。
如果还是存在权限问题的话 ,把jenkins用户改成root。
1.将 jenkins 账号加入到 root 组中。
gpasswd -a jenkins root
2.修改/etc/sysconfig/jenkins文件,添加如下配置。
JENKINS_USER="root"
JENKINS_GROUP="root"
3.重启 Jenkins
service Jenkins restart
4.验证
groups jenkins
查看jenkins是在哪个用户组,显示的是root。
参考
https://blog.csdn.net/weixin_39924329/article/details/110516043