5min搞定linux环境Jenkins的安装
安装Jenkins
step1: 使用wget 命令下载Jenkins
先安装wget yum install wget
,如果已经安装过了,则可忽略直接到下一步;
-
若你的java环境为11~17,可以执行:
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
-
若你的java环境为8,可以执行:
wget https://mirrors.jenkins.io/war-stable/2.346.1/jenkins.war
-
或者通过jenkins的war包列表 根据已发布且长期支持的版本,按你的jdk版本环境,下载你需要的jekins版本
附注: jenkins运行是基于java环境
通过下面命令,先检验java是否安成功java -version
如果输出了java版本,则说明java安装成功,否则需要在线安装下java,yum install java-1.8.0-openjdk
安装完成后,同时配置下环境变量,(环境变量配置可以上网查下)可以再输入命令java -version
检查下
期望返回结果为:
step2、创建Jenkins日志目录并运行jekins
创建Jenkins的日志目录 mkdir /var/log/jenkins
运行jenkins 【启动jenkins的一个守护进程,指定端口和日志名】
java -jar jenkins.war --httpPort=8080 --logfile=/var/log/jenkins/8080.log --daemon
查jenkins是否运行成功
ps -aux |grep jenkins
或者 pe -ef|grep jenkins
step3、访问jenkins并解锁jenkins,安装插件以及创建管理员用户
浏览器访问jenkins启动的服务器的地址,eg:127.0.0.1:8081,密码下面截图提示到这个文件里找 tail -f /root/.jenkins/secrets/initialAdminPassword
我都选的推荐安装插件
点完推荐安装的插件后,
设置完信息后,会提示:
Jenkins URL 用于给各种Jenkins资源提供绝对路径链接的根地址。 这意味着对于很多Jenkins特色是需要正确设置的,例如:邮件通知、PR状态更新以及提供给构建步骤的BUILD_URL环境变量。
推荐的默认值显示在尚未保存,如果可能的话这是根据当前请求生成的。 最佳实践是要设置这个值,用户可能会需要用到。这将会避免在分享或者查看链接时的困惑。
最后会提示
step4、到此,就完成了
我们看一下jenkins的界面
Finish、以上步骤中遇到的问题
1、 jenkins启动不了
问题:上面运行时候的问题也挪下来
附注:如果启动过程中报错:Address already in use
,可通过调整端口来解决
报错信息
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
.....
Caused: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:8080
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349)
.....
解决:报错提示被占用,解决方法当然是改端口,哈哈,请执行下面命令:
java -jar jenkins.war --httpPort=8081 --logfile=/var/log/jenkins/8081.log --daemon
执行成功后会有类似下面的提示:
2、jenkins无法访问
当发现访问不了,先查看下jenins的状态:systemctl status jenkins
查看jenkins状态 有2种情况:
情况1若返回:Unit jenkins.service could not be found.
分析:如果你的是阿里云服务器 , 需要在阿里云的管理平台里设置安全策略 开放端口之后外网才能访问对应端口
解决: 在你的控制台找到网路与安全→安全组,点击管理规则
手动添加一条安全组策略配置
可理解为开放一个端口提供访问,我当前的端口8081。配置如下图:
情况2
jenkins运行状态正常,提示网站无法访问,下一步就是检查防火墙了
可添加相应的规则:
firewall-cmd --add-port=8080/tcp --permanent --zone=public
或者直接关闭Linux的防火墙: systemctl stop firewalld