Jenkins平台配置 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/javajava应用程序直接指向自定义安装的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 进行运行了!
然后,要是细心的人,通过我上面贴出来的日志,应该会发现两种方案有什么区别!这才是我们应该发现的细节!加油

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值