Jenkins平台配置 java 环境

  • Post author:
  • Post category:java


Jenkins的启动脚本:

/etc/rc.d/init.d/jenkins

(也可理解为配置文件)

java的属性配置:

candidates


默认信息如下:

# Search usable Java as /usr/bin/java might not point to minimal version required by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/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/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
"

其脚本使用的就是java jdk中bin目录下的java程序进行启动的,故

/usr/bin/java

中的

java

不是目录,而是

java应用程序

(如下图),所以在我们需要修改自定义java环境的时候,则只需要把它改成自己的java jdk中的

java应用程序

即可,即重新指定java应用程序的

路径


在这里插入图片描述

等同于Window中自定义安装jdk中的

java.exe


在这里插入图片描述

  • 方案一:修改配置文件

    打开

    /etc/rc.d/init.d/jenkins

    文件,直接把脚本文件中的

    java应用程序

    指向自定义安装的

    java应用程序

    ,即把

    /usr/bin/java

    替换成

    /usr/local/java/jdk1.8.0_191/bin/java

    ,然后重新加载配置文件

    cmd打开配置文件指令:

    vi /etc/rc.d/init.d/jenkins


    cmd重新加载配置文件指令:

    systemctl daemon-reload
# Search usable Java as /usr/bin/java might not point to minimal version required by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/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/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
#/usr/bin/java
/usr/local/java/jdk1.8.0_191/bin/java
"

修改配置之后的

systemctl status jenkins

信息如下

[root@localhost ~]# systemctl start jenkins
[root@localhost ~]# 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-10-29 12:50:15 CST; 23s ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/jenkins.service
           └─5149 /usr/local/java/jdk1.8.0_191/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webr...

10月 29 12:50:15 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
10月 29 12:50:15 localhost.localdomain runuser[5123]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
10月 29 12:50:15 localhost.localdomain runuser[5123]: pam_unix(runuser:session): session closed for user jenkins
10月 29 12:50:15 localhost.localdomain jenkins[5115]: Starting Jenkins [  确定  ]
10月 29 12:50:15 localhost.localdomain systemd[1]: Started LSB: Jenkins Automation Server.
[root@localhost ~]# 
  • 方案二:软连接

    通过软连接的快捷方式,把原配置中

    /usr/bin/java



    java应用程序

    直接指向自定义安装的

    java应用程序


    cmd创建

    软连接

    指令:

    ln -s /usr/local/java/jdk1.8.0_191/bin/java /usr/bin/java


    该指令会在

    /usr/bin/

    目录下生产一个

    java



    快捷程序

    (如下图),这种方式是不需要修改到原

    /etc/rc.d/init.d/jenkins

    配置文件,即也不需要重新加载配置文件的

    在这里插入图片描述

    创建

    软连接

    之后的

    systemctl status jenkins

    信息如下
[root@localhost ~]# systemctl start jenkins
[root@localhost ~]# 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-10-29 13:23:42 CST; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 31994 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
  Process: 32455 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           └─32481 /usr/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/...

10月 29 13:23:42 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
10月 29 13:23:42 localhost.localdomain runuser[32460]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
10月 29 13:23:42 localhost.localdomain jenkins[32455]: Starting Jenkins [  确定  ]
10月 29 13:23:42 localhost.localdomain systemd[1]: Started LSB: Jenkins Automation Server.
[root@localhost ~]# 

到此,Jenkins已经可以通过使用自定安装的 java jdk 进行运行了!

然后,要是细心的人,通过我上面贴出来的日志,应该会发现两种方案有什么区别!这才是我们应该发现的细节!加油



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