Jenkins安装部署详解(一)

环境准备:
组件及版本:
Jenkins版本:2.138.3
操作系统:CentOS 7.4
JDK版本:8u161
Tomcat:8.5.49
安装前准备:
1、部署java环境,因为Jenkins的部署依赖java环境。

[root@centos7 app]# tar xvf jdk-8u161-linux-x64.tar.gz -C /usr/local/
[root@centos7 local]# ln -s /usr/local/jdk1.8.0_161/ /usr/local/java
##配置java环境变量
[root@centos7 local]# vim /etc/profile.d/java_path.sh

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
~                                                                                         
[root@centos7 local]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Jenkins的几种部署方式:
方式一:直接下载war包jenkins.war,下载地址https://jenkins.io/download 。

  方式一:可以把war包直接部署到tomcat中,下载后把安装包放在tomcat的webapps目录下。

  方式二:不用部署tomcat环境,使用java命令直接运行war包,如:java -jar jenkins.war

方式二:二进制方式安装,jenkins下载rmp包:http://pkg.jenkins-ci.org/redhat/下载rpm包到本地。
方式三:在Red Hat发行版上安装Jenkins,配置Jenkins的YUM仓库
在这里插入图片描述

一、安装

这里选择二进制方式安装。

[root@centos7 app]# ls
jenkins-2.138.3-1.1.noarch.rpm
[root@centos7 app]# yum install -y jenkins-2.138.3-1.1.noarch.rpm

相关配置文件信息

[root@centos7 app]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins

主配置文件信息

[root@centos7 app]# grep '^[^#]' /etc/sysconfig/jenkins 
JENKINS_HOME="/var/lib/jenkins"  ##jenkins的工作目录,
JENKINS_JAVA_CMD=""
JENKINS_USER="jenkins"  ##改为root,后期将使用root账号从gitlab上拉取代码,方便一些关于权限的操作。
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS="192.168.239.132"  ##默认是本机的所有端口
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""

如果想配置zabbix的监控可以加上以下的参数

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=12345 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -Djava.rmi.server.hostname="192.168.239.132" \ "

启动Jenkins。

[root@centos7 app]# systemctl start jenkins

问题:长时间停在这个界面

在这里插入图片描述

查看Jenkins的状态信息,显示正常启动。

[root@centos7 ~]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since 一 2020-06-15 06:32:23 CST; 10s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 36132 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
  Process: 36156 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           └─36179 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/lo...

查看内存,发现内存被占了很多,可能与之前搭建的gitlab服务有关,于是关闭了gitlab并重启服务

[root@centos7 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        1.3G        325M        9.4M        211M        336M
Swap:          2.0G        830M        1.2G
[root@centos7 ~]# gitlab-ctl  stop
ok: down: alertmanager: 0s, normally up
ok: down: gitaly: 1s, normally up
ok: down: gitlab-monitor: 1s, normally up
ok: down: gitlab-workhorse: 0s, normally up
ok: down: logrotate: 1s, normally up
ok: down: nginx: 0s, normally up
ok: down: node-exporter: 0s, normally up
ok: down: postgres-exporter: 0s, normally up
ok: down: postgresql: 0s, normally up
ok: down: prometheus: 1s, normally up
ok: down: redis: 0s, normally up
ok: down: redis-exporter: 1s, normally up
ok: down: sidekiq: 0s, normally up
ok: down: unicorn: 0s, normally up

然后重启一下Jenkins

[root@centos7 ~]# systemctl restart jenkins
[root@centos7 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        414M        1.0G        2.5M        379M        1.2G
Swap:          2.0G         53M        1.9G

然后进入到这个界面,说明启动成功
在这里插入图片描述上面查看Jenkins状态时,发现使用的java命令路径是/etc/alternatives/java,而/etc/alternatives/java是系统默认的jdk环境变量,即openjdk(也可以使用,但是我们上面指定了自己配置的java环境,所以这里修改一下)

[root@centos7 ~]# ls -l  /etc/alternatives/java
lrwxrwxrwx. 1 root root 72 8月   6 2019 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/bin/java

编辑Jenkins启动文件/etc/init.d/jenkins。

[root@centos7 ~]# vim /etc/init.d/jenkins 
...
candidates="
/usr/local/java/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"
...

注意:全路径后一定要带/bin/java.
在这里插入图片描述
重新加载配置文件,并重启服务

[root@centos7 ~]# systemctl daemon-reload
[root@centos7 ~]# systemctl restart jenkins

再次查看Jenkins的状态信息,此时使用的是自己配置的java环境变量。
在这里插入图片描述根据Jenkins配置界面的提示信息,把/var/lib/jenkins/secrets/initialAdminPassword文件中把里面的文本复制出来填到管理员密码中。

[root@centos7 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
a8b38a526f59477a904e7b9c8a4af88a

选择安装Jenkins插件。在这里插入图片描述

插件安装过程中,如果因为某种原因导致有有安装失败的插件,可以后期再单独安装。

在这里插入图片描述创建Jenkins管理员
在这里插入图片描述配置 jenkins URL
在这里插入图片描述在这里插入图片描述登陆 jenkins 界面


版权声明:本文为xiaochenwj1995原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。