最近,我自己要亲手搭建一套完整的企业级 CI/CD 环境,这个环节里面涉及了很多内容,没有办法把这么多的内容都放在一篇文章里,所以 Jenkins 的安装和Java 的 JDK 安装我就是分了两篇文章来写的。而且这套环境中也包含 Docker 容器,涉及的东西不少,有些东西,自己也是第一次遇到,所以就会遇到很多坑。说起来,安装Jenkins服务器环境,我也是大费周章。本来开始打算通过 Docker  安装的,但是我在拉取 Jenkins 镜像的时候,总是太慢,半天的时间都拉取不下来,可能有人会说,你换成国内的镜像啊,我换了,刚开始很快,越到后面越慢,我也做了很多尝试,但是,都没解决,只能使用 Yum 安装了。

一、Jenkins 简介

    
    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

    Jenkins 功能包括:

      1、持续的软件版本发布/测试项目。

      2、监控外部调用执行的工作。


二、Jenkins 安装

    废话不多说,现在我们就开始安装 Jenkins 服务器的环境。

    1、检查环境是否安装了 Java 的 JDK,因为 Jenkins  是用Java 语言写的,要想安装 Jenkins 之前,必须安装 JDK。
      命令:# java -version
      
      上图说明 Jenkins 的运行环境已经安装成功。

    2、yum 安装 Jenkins。
      这里推荐使用yum方式安装Jenkins,最简单方便。yum的repos中默认是没有Jenkins的,需要先将Jenkins存储库添加到yum repos。

      (1)、在执行wget命令之前,必须确保该命令已经安装,如果没有安装,请安装。
          命令:# yum install -y wget
          

      (2)、执行 :# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

          

       (3)、执行:# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
          

       (4)、安装 Jenkins。
          命令:# yum install jenkins
          

          随后就可以看到系统开始自动下载安装。出现提示是否下载的时候输入y并按回车。耐心等待安装完成。

          

      (5)、修改配置。
        现在Jenkins已经安装好了,不过启动之前最好稍微修改一下配置。默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。Jenkins 配置文件的目录:/etc/sysconfig/jenkins

        命令:vi/vim /etc/sysconfig/jenkins
          

        在执行 vim 命令的时候,先要确认该命令是否安装,如果没有安装,那就安装吧。
          命令:# yum install -y vim

          

          中间省略了很多步骤输出。

          

        开始修改 Jenkins 的配置文件:# vim jenkins

          【1】、修改 Jenkins 用户名,改为:“root”。
              

              

          【2】、修改 Jenkins 的默认端口号:8080,我修改为:8084。

              

              

          【3】、修改完毕,保存退出。
              命令:# wq
              修改完配置后,保存退出。好了,现在配置文件也修改好了,可以启动Jenkins了。

      (6)、启动 Jenkins 服务。
          命令:# service jenkins start
          
          出现OK表示Jenkins启动成功。

      (7)、在浏览器输入ip:8084进入Jenkins登录页面。
          我的IP地址是:192.168.127.146,Jenkins 网页地址:http://192.168.127.146:8084。
          

          这就是我们看到的正常页面。

          

          如果通过地址访问出现超时的情况,而且,Windows 可以 ping 通虚拟机的服务器,虚拟机服务器也 Ping 通 Windows 服务器,这种情况多是 Linux 服务器防火墙的问题。

          

          由于linux开启了防火墙,导致windows无法访问linux服务器程序。

          有两种解决办法:
            第一:执行以下命令就可以,重启也是有效的。
              命令:#firewall-cmd --zone=public --add-port=8084/tcp --permanent
                   #firewall-cmd --reload
                

            第二:执行以下命令也可以解决,但是,重启后无效,需要再次输入该命令。
              命令:# iptables -P INPUT ACCEPT(设置默认允许规则)
                                                 # iptables -F

                 (这两条命令顺序不能错。可以通过/sbin/iptables -F 清除所有规则来暂时停止防火墙: (警告:这只适合在没有配置防火墙的环境中,如果已经配置过默认规则为deny的环境,此步骤将使系统的所有网络访问中断),如果想清空的话,先执行 /sbin/iptables -P INPUT ACCEPT;然后执行  /sbin/iptables -F;这样就可以安全使用了,但是,重启就不起作用。)

               

             第三:也可以执行一下命令。
                命令:#iptables -A OUTPUT -p tcp --sport 8084 -j ACCEPT
          
      (8)、查看密码:/var/lib/jenkins/secrets/initialAdminPassword
          命令:# cat /var/lib/jenkins/secrets/initialAdminPassword
          

      (9)、Jenkins首次登录,解锁Jenkins。
          进入登录页面后,Jenkins提示我们需要输入超级管理员密码进行解锁。根据提示,我们可以在/var/lib/jenkins/secrets/initialAdminPassword文件里找到密码。找到密码后,复制密码,粘贴到Jenkins解锁页面,点击Continue继续初始化配置。

          

      (10)、Jenkins 安装插件。
          这里我们点击的Install suggested plugins,安装默认插件,当然你也可以点击另一个按钮安装指定的插件。点击后,页面进入了插件下载安装页面。

          

          插件安装页面。

          

      (11)、管理员账户注册页面。
          耐心等待,全部插件安装完成。安装完成后,页面自动进入了管理员账户注册页面。
          

          

      (12)、实例配置。
          我选择保持默认,直接点击【保存并完成】。
          

      (13)、Jenkins 安装完成。
          

      (14)、我们开始使用 Jenkins。
          


三、Jenkins 服务常用操作。

      (1)、Jenkins 的默认设置

                    Jenkins 会随系统启动而启动。详情参照/etc/init.d/jenkins

                    Jenkins 会创建一个用户叫做jenkins, 如果你修改了user,则要修改所属者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
             
                    如果遇到问题,查看日志/var/log/jenkins/jenkins.log
            
                    配置文件/etc/sysconfig/jenkins
            
                    默认启用8080

            (2)、Jenkins 常用命令。

                    启动:service jenkins start

                    重启:service jenkins restart

                    停止:service jenkins stop

                    此外,还有直接使用url的方式,不过当然不包括启动(此时服务还未启动),只需要在访问 jenkins 服务器的网址url地址就可以了。 此处假定 jenkins部署在本机,端口为 8080

                    浏览器进入Jenkins,登录地址:http://127.0.0.1:8080/

                    关闭Jenkins 服务:http://127.0.0.1:8080/exit

                    重启Jenkies 服务:http://127.0.0.1:8080/restart

                    重新加载配置信息:http://127.0.0.1:8080/reload

            
            (3)、查看密码:/var/lib/jenkins/secrets/initialAdminPassword

                    密码:cat /var/lib/jenkins/secrets/initialAdminPassword

             (4)、检查 Jenkins 是否启动

                    netstat -aptn 命令行,查看所有开启的端口号。

        (5)、卸载 Jenkins 服务。

                【1】、rpm 卸载
                      命令:#rpm -e jenkins

                【2】、检查是否卸载成功
                     命令:#rpm -ql jenkins

                【3】、彻底删除残留文件:
                     命令:# find / -iname jenkins | xargs -n 1000 rm -rf

         (6)、加速Jenkins的拉取。

                  命令:#docker pull jenkins

                  最开始是使用上面的命令进行拉取,此jenkins是旧版本,不建议使用。可以使用如下命令拉取新版本。

                  命令:#docker pull jenkins/jenkins

                  如果拉取速度还是缓慢,设置 docker 加速镜像,并重启。

                    命令:#vi /etc/docker/daemon.json,增加内容:{"registry-mirrors": ["http://hub-mirror.c.163.com"]}
                    命令:#service docker restart
             命令:#systemctl restart docker.service

                  对应启动容器如下。

                    命令:#docker run -d -p 9090:8080 --name jenkins -p 50000:50000 -v /hzero/data-server/jenkins:/home/jenkins_home --privileged=true jenkins/jenkins


四、总结
    
好了,今天就写到这里了。今天虽然很郁闷,因为了经历了很多坑,本来2个小时可以完成的工作,一下子搞了4个多小时,不管怎么说,最后还是把所有问题都解决了,值得庆贺。不忘初心,每天进步一点点。Jenkins 服务器安装成功了,下面该做其他工作了。安装 Jenkins 只是为了搭建企业级 CI/CD环境的基础。我们已经完成了第一步,继续吧。

posted on 2021-01-09 13:31  可均可可  阅读(1053)  评论(2编辑  收藏  举报