不想选择war包的方式,想用安装包的方式来下载,但是说啥找不到官网里下载npm包的地方,哪儿哪儿都是war包,最后终于找到了rpm包的位置,记录一下
官网传送门
因为我的是centos,所以我选择redhat的长期支持版本
rpm包,他来了,选择一个自己想要的,版本不重要,重要的是先动手。
[root@hecs-82454 local]# wget https://get.jenkins.io/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm
经过漫长的等待,总算是下载完了,下面就开始安装
i表示安装,v表示显示安装过程,h表示显示进度
[root@hecs-82454 local]# rpm -ivh jenkins-2.222.1-1.1.noarch.rpm
warning: jenkins-2.222.1-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:jenkins-2.222.1-1.1 ################################# [100%]
[root@hecs-82454 local]#
安装完成之后就会出现这么几个目录
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录,这个从上面的配置文件就可以看出来
/var/log/jenkins/jenkins.log Jenkins日志文件
不想让jenkins在8080端口启动,那我们就换一个,比如我换成了8087
我的是华为云的,既然我们需要访问8087就需要把8087端口打开
[root@hecs-82454 sysconfig]# service jenkins start
Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
[FAILED]
[root@hecs-82454 sysconfig]#
尴尬不,报错了,不过好在报错已经提示了我们怎么查看详细信息,那我们就看一下吧
[root@hecs-82454 sysconfig]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Sun 2021-09-26 18:07:54 CST; 6min ago
Docs: man:systemd-sysv-generator(8)
Process: 2848 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
Sep 26 18:07:54 hecs-82454 systemd[1]: Starting LSB: Jenkins Automation Server...
Sep 26 18:07:54 hecs-82454 runuser[2853]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Sep 26 18:07:54 hecs-82454 jenkins[2848]: Starting Jenkins bash: /usr/bin/java: No such file or directory
Sep 26 18:07:54 hecs-82454 systemd[1]: jenkins.service: control process exited, code=exited status=1
Sep 26 18:07:54 hecs-82454 jenkins[2848]: [FAILED]
Sep 26 18:07:54 hecs-82454 systemd[1]: Failed to start LSB: Jenkins Automation Server.
Sep 26 18:07:54 hecs-82454 systemd[1]: Unit jenkins.service entered failed state.
Sep 26 18:07:54 hecs-82454 systemd[1]: jenkins.service failed.
哦,Starting Jenkins bash: /usr/bin/java: No such file or directory,原来是没有java目录,但其实我们的环境是有java的,只能是我们安装的路径和它默认的不一致,而且报错里也有路径/etc/rc.d/init.d/jenkins,但是实话说我没见过这个路径,挺好奇的,就搜索了一下,发现了这么一篇文章,很好的讲了这个目录是干啥的,还好有这帮乐于分享的大佬啊,要不然自学是多么的难
传送门
找到自己的java路径,将其复制到下图红框那里。
[root@hecs-82454 init.d]# whereis java
java: /usr/local/jdk1.8/bin/java
再次执行启动命令,可能会报下面这个警告
Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
那我们就按照警告执行一下就可以了
再再执行启动命令,成功!
[root@hecs-82454 sysconfig]# service jenkins start
Starting jenkins (via systemctl): [ OK ]
现在我们就可以在外网访问我们的jenkins页面了
http://主机ip:开放端口
太贴心了,连密码在那里都告诉我们了,回主机上cat一下就出来了,复制到这个管理员密码里,点击继续,画面会像下面这样抖动一会,不要急
加载好了之后就这样了,我选择了安装推荐的插件
点击一下,会很慢,甚至可能会失去连接,重连就好了,然后就这样了,等吧
好多都安装不上,算了,不管了,需要插件的时候我们再说嘛,不是非得现在安装
安装完成,撒花
启动的时候报错如上
解决办法
yum install xorg-x11-server-Xvfb
yum install libgcc.i686 --setopt=protected_multilib=false
然后重启服务即可