安装Jenkins(阿里云/centos)
安装Java
yum install -y java
查询到java的安装信息
yum list installed | grep java
查看jdk软件包列表
yum search java | grep jdk
选择版本并安装
yum install -y java-1.8.0-openjdk
检查是否安装成功
java -version
使用 Yum 安装 Jenkins
下载rpm包
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
出现未发现wget命令,解决:执行 yum remove wget 卸载,再执行 yum -y install wget 重新安装
导密钥
注意:若之前已从Jenkins导入过密钥,“rpm–import”将失败,请忽略,继续执行下面
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
安装Jenkins
- java11以上的可以安装这个
yum install -y jenkins
- 最后一个支持java1.8的版本
yum install -y jenkins-2.346.1
若提示:jenkins-2.249.1-1.1.noarch.rpm 的公钥尚未安装,则使用以下脚本安装,跳过公钥检查。
sudo yum -y install jenkins --nogpgcheck
对应上述java8对应的jenkins的公钥检查跳过:
sudo yum -y install jenkins --nogpgcheck
查看Jenkins信息
rpm -ql jenkins
给 Jenkins 放行端口
在启动
Jenkins后,此时Jenkins会开启它的默认端口8080。但由于防火墙限制,我们需要手动让防火墙放行8080端口才能对外访问到界面。
我们在 CentOS 下的 firewall-cmd 防火墙添加端口放行规则,添加完后重启防火墙。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=50000/tcp --permanent
systemctl reload firewalld
(阿里云服务器默认是不开启防火墙的)出现FirewallD is not running一般是因为没有开启防火墙服务,非阿里云你就开一下防火墙吧。
阿里云服务器的话去设置一下端口规则(这边放行的是8888)。
通过vim /etc/sysconfig/jenkins,去修改默认端口为8888,因为8080与tomcat冲突。
启动Jenkins
这个是有日志打印的。
cd /etc/init.d
./jenkins start
访问
通过ip地址:端口号进行访问。
第一次初始化时间较长,初始化完成后将日志中打印的那一段码粘贴进去。
博主的是:94b5fdbb801b4aba8f123a1c82feb748


安装插件
直接推荐安装继续即可。
测试
登录完成后,尝试用jenkins自动化构建一个docker拉取一下node:
new Item->->按下面图片步骤进行即可。


保持并返回面板:(右侧运行即可开始构建)

构建日志(拉取成功)

若拉取不成功,日志里可以看出来是权限问题。
权限问题
docker 的架构是 C/S 架构。在我们使用 docker 命令时,其实是命令使用 socket 与 docker 的守护进程进行通信,才能正常执行 docker 命令。
而在 Linux 中, Unix socket 属于 root 用户,因此需要 root 权限才能访问。
但是在 docker 中, docker 提供了一个 用户组 的概念。我们可以将执行 Shell 的用户添加到名称为 docker 的用户组,则可以正常执行 docker 命令。
而在 Jenkins 中执行的终端用户做 jenkins ,所以我们只需要将 jenkins 加入到 docker 用户组即可:
sudo groupadd docker #新增docker用户组
sudo gpasswd -a jenkins docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
加入后,重启 Jenkins :
sudo service jenkins restart
再次构建即可。
卸载yum安装的Jenkins
rpm -e jenkins #rpm卸载
rpm -ql jenkins #检查是否卸载成功
find / -iname jenkins | xargs -n 1000 rm -rf #彻底删除残留文件