CentOS Linux安装Jenkins流程以及问题

背景

        为了提高项目构建效率,决定在打包机上安装 Jenkins管理构建流程。遇到一些问题,做此纪录以防备忘。

安装

  •  参考官网流程,官方教程
  • 本次安装的是LTS版本
    
    #1.下载 jenkins仓库
    sudo wget -O /etc/yum.repos.d/jenkins.repo \
        https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    
    
    sudo yum upgrade
    # Add required dependencies for the jenkins package
    # 依赖于JDK11
    sudo yum install java-11-openjdk
    
    sudo yum install jenkins
    sudo systemctl daemon-reload

遇到的问题

  1. 问题:安全验证已过期 Issued certificate has expired
    解决:按提示使用--no-check-certificate
    [admin@localhost ~]$sudo wget -O /etc/yum.repos.d/jenkins.repo     https://pkg.jenkins.io/redhat/jenkins.repo
    --2022-12-03 08:06:10--  https://pkg.jenkins.io/redhat/jenkins.repo
    Resolving pkg.jenkins.io (pkg.jenkins.io)... 151.101.2.133, 151.101.66.133, 151.101.130.133, ...
    Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.2.133|:443... connected.
    ERROR: cannot verify pkg.jenkins.io's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
      Issued certificate has expired.
    To connect to pkg.jenkins.io insecurely, use `--no-check-certificate'.
  2. 问题:Jenkins启动时无权限访问目录。
    原因:可以通过ps -ef | grep jenkins。默认是以jenkins用户与jenkins组运行。使用root权限 运行jenkins即可。
    解决:
    • 修改jenkins配置文件 vi /etc/sysconfig/jenkins,将JENKINS_USER改为root
      
      ## Type:        string
      ## Default:     "jenkins"
      ## ServiceRestart: jenkins
      #
      # Unix user account that runs the Jenkins daemon
      # Be careful when you change this, as you need to update
      # permissions of $JENKINS_HOME and /var/log/jenkins,
      # and if you have already run Jenkins, potentially other
      # directories such as /var/cache/jenkins .
      #
      JENKINS_USER="root"
    1. 由于是使用systemctl start jenkins进行启动服务,所有启动文件也需要修改为root用户。通过服务状态查到/usr/lib/systemd/system/jenkins.service
      [admin@localhost ~]$sudo systemctl status jenkins
      ● jenkins.service - Jenkins Continuous Integration Server
         Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled)
         Active: active (running) since Fri 2022-12-02 09:44:10 CST; 22h ago
       Main PID: 32724 (java)
          Tasks: 57
         Memory: 4.0G
         CGroup: /system.slice/jenkins.service
                 └─32724 /usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el7_9.x86_64/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war --httpPort=1...
      
    2. 修改服务启动为root用户权限
      # Unix account that runs the Jenkins daemon
      # Be careful when you change this, as you need to update the permissions of
      # $JENKINS_HOME, $JENKINS_LOG, and (if you have already run Jenkins)
      # $JENKINS_WEBROOT.
      User=root
      Group=root
    3. 同时需要修改jenkins运行时依赖的文件
      sudo chown -R root:root /var/log/jenkins/
      sudo chown -R root:root /var/lib/jenkins/
      sudo chown -R root:root /var/cache/jenkins/
  3. 问题:Invalid JDK Version,JDK版本不对,最新版本jenkins支持JDK 11起,系统旧的版本不支持。
    解决:jenkins配置文件/etc/init.d/jenkins添加JDK版本,修改启动环境变量/usr/lib/systemd/system/jenkins.service
    #1.修改  /etc/init.d/jenkins. 在candidates字段加中JDK11的安装路径
    
    # 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="
    /usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el7_9.x86_64/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-11.0/bin/java
    /usr/lib/jvm/jre-11.0/bin/java
    /usr/lib/jvm/java-11-openjdk-amd64
    /usr/bin/java
    "
    
    #2.配置启动service文件/usr/lib/systemd/system/jenkins.service,修改环境变量以JDK11启动
    
    
    # The Java home directory. When left empty, JENKINS_JAVA_CMD and PATH are consulted.
    Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el7_9.x86_64"
    
    # The Java executable. When left empty, JAVA_HOME and PATH are consulted.
    Environment="JENKINS_JAVA_CMD=/usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el7_9.x86_64/bin/java"
    
    

猜你喜欢

转载自blog.csdn.net/weixin_65260054/article/details/128157331