Jenkins安装与运行环境配置(阿里云centos7.9安装gcc8.2.0、make4.3、GLIBC_2.28、ssh9.3)

610 阅读4分钟

1 安装gcc8.2.0、make4.3、GLIBC_2.28

1.1 说明

  • 安装过程中,makemake install都很耗时,可以使用nohup make -j4 &nohup make install &使用nohup &,即使我们关闭控制台,进程依旧会继续运行)进行安装(见Linux后台运行任务nohup结合&用法以及如何精准查找进程并kill后台任务实践),可以使用命令tail -f nohup.out命令观察安装的进度,如果安装失败就把build文件夹删掉再来一遍,若观察到make[1]: Leaving directory ...说明make、make intall命令执行结束了,可继续下一步了,make[1]:leaving directory
  • 如果makemake install时间太久 阿里云的 Workbench远程连接 提醒你远程连接关闭,不要着急关闭,重新起一个ssh连接,tail -f nohup.out命令观察安装是否还在继续,若还在继续不用理会这个提醒。
  • 若安装过程中遇到没法解压文件,提示要yum安装ilbzip2,而运行命令yum -y install bzip2时,又遇到Cannot find a valid baseurl for repo: centos-sclo-sclo/x86_64问题,可参考链接解决,即更换yum源

1.2 安装过程

  1. 先安装make4.3。
  • 目的:在安装GLIBC_2.28的过程中,有可能会遇到These critical programs are missing or too old: make compiler的问题(centos7.9自带的make版本太低),而make4.4有问题(见Build Not completed in Arch Linux),因此选择安装make4.3的。
  • 把教程中的make4.2改为make4.3进行安装。
  1. 安装gcc8.2.0。
  • 目的:阿里云服务器centos7.9默认的gcc版本太老了,编译node时有些东西找不到,如node: /lib64/libstdc++.so.6: version GLIBCXX_3.4.21 not found,而gcc9.2版本是不行的编译GLIBC_2.28的时候报错,因此不能安装太高版本的gcc,而太老版本的gcc又编译不了GLIBC_2.28,因此最终安装gcc8.2.0。
  • 按照教程安装。
  • CentOS7环境下gcc(版本10.2.0)升级详细过程的安装过程和命令也可以借鉴(但不要安装该版本,该版本有些高,编译不了GLIBC_2.28)。
  1. 安装GLIBC_2.28
  • 目的:安装的gcc8.2.0中缺少GLIBC_2.28,用于解决node: /lib64/libc.so.6: version GLIBC_2.28 not found (required by node)
  • 把教程中的glibc 2.27改成glibc 2.28即可。

2 拉取gitee代码不成功遇到的问题及解决方法(升级ssh)

  • 目的:配置私钥后,拉取gitee代码不成功,遇到一些问题及其解决方法如下述。

2.1 说明

  1. stderr: No ECDSA host key is known for gitee.com and you have requested strict checking.and Host key verification failed问题。
  1. Unsupported option “accept-new”. Could not read from remote repository。 解决意见链接,其实就是ssh版本太低,需要进行升级,可参考centOS ssh升级到9.3与降级进行升级,升级后Jenkins就不会再报错了。如果升级ssh后会发现没法root登陆,只能用创建的临时用户登陆,如果把临时用户删掉,发现还没法登陆(可使用阿里云平台的“通过VNC远程连接”,登录名root-登陆密码),可以参考OpenSSH9.3p1升级实践(不要尝试参考这个教程安装ssh,会失败的)删除临时用户。

3 安装Jenkins 2.426

3.1 安装过程

  1. 安装java11。
  • 命令sudo yum install java-11-openjdk -y安装java11,命令java --version查看java11是否安装成功,安装完成后记的配一下环境变量。(参考自CentOS 8 JDK 11安装)
  1. 安装Jenkins。
  • 在官网Jenkins查看java11对应版本的Jenkins,在阿里云服务器上下载清华源下载java11对于版本的Jenkins,如输入命令wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.426-1.1.noarch.rpm,运行命令rpm -ivh jenkins-2.426-1.1.noarch.rpm完成安装。采用清华源的方式安装,是因为安装Jenkins需要访问外网,下载速度很慢。
  1. 配置Jenkins。
  • Jenkins此时还不能访问docker服务,需要把Jenkins添加到docker用户组里(docker组里的用户可以向docker发送命令),如果配置后不能生效要重启Jenkins,systemctl restart jenkins.service
  • 运行firewall-cmd --zone=public --add-port=8080/tcp --permanent命令遇到FirewallD is not running问题,参考【Linux环境】centos出现“FirewallD is not running”怎么办,如何解决解决。
  1. 添加到docker用户组里 Jenkins此时还不能访问docker服务,需要把Jenkins添加到docker用户组里(docker组里的用户可以向docker发送命令),如果配置后不能生效要重启Jenkins,systemctl restart jenkins.service

4 其他问题

4.1 Jenkins连接Docker问题

4.2 npm镜像源证书过期问题