文章声明:此文基于木子实操撰写 生产环境:Rocky Linux release 8.3, jenkins-2.277.4-1.1, jdk1.8-1.8.0_202 问题关键字:RockyLinux安装Jenkins,RockyLinux安装与配置Jenkins,RockyLinux安装NodeJS编译环境,RockyLinux安装Java编译环境
前述 目前公司所有新业务都跑在Kubernetes中,但因为历史遗留问题,原来旧的服务很多还跑在虚拟机当中,没办法一下子切换至Kubernetes,旧服务器下架,为了保障这块业务的快速部署,需要迁移对应Jenkins。刚好最近Rocky Linux 8.3 RC1发布,虽然说不建议在生产环境使用,但在木子看来用做Jenkins构建服务器应该问题不大,于是就有了这篇文章。
安装Jenkins 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 dnf install wget curl wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key dnf update wget http://83.103.170.157/apps/java/jdk_1.8/jdk/jdk-8u202-linux-x64.rpm yum localinstall jdk-8u202-linux-x64.rpm dnf install jenkins wget https://archives.jenkins-ci.org/redhat-stable/jenkins-2.277.4-1.1.noarch.rpm yum localinstall jenkins-2.277.4-1.1.noarch.rpm systemctl start jenkins && systemctl status jenkins [[email protected] ~] jenkins 13649 1 99 00:18 ? 00:00:13 /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/log /jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
防火墙与SELinux设置 防火墙与SELinux的设置,简单粗暴就是直接禁用,或者添加对应规则,生产环境建议后者。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld firewall-cmd --zone=public --permanent --add-port=8080/tcp firewall-cmd --reload [[email protected] ~] public (active) target: default icmp-block-inversion: no interfaces: ens18 sources: services: cockpit dhcpv6-client http https ssh ports: 8080/tcp protocols: masquerade: no forward-ports: source -ports: icmp-blocks: rich rules: setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
Nginx 反向代理 如果您使用80或443反向代理Jenkins服务,可以在Nginx中添加以下配置,此步骤可以跳过。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 upstream jenkins { server 127.0.0.1:8080 fail_timeout=0; } server { listen 80; server_name jenkins.rockylinux.cn; location / { proxy_set_header Host $host :$server_port ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; proxy_set_header X-Forwarded-Proto $scheme ; proxy_pass http://jenkins; } }
初始化Jenkins 查看Jenkins管理员密码
1 cat /var/lib/jenkins/secrets/initialAdminPassword
http://IP:8080,打开对应页面,输入密码,开始初始化配置。 安装Jenkins社区推荐的插件。 开始安装…… 可以继续使用admin账号,也可以自己单独创建一个账号。 设置Jenkins URL信息 重启Jenkins服务
安装插件 NodeJS插件安装: JDK插件安装:
配置插件 在Global Tool Configuration
中设置Maven
与NodeJS
版本,这个根据公司开发同学所使用的版本进行选择。
项目设置 在配置持续构建的过程中,对于NodeJS与Java项目,我们需要进行不同的设置,详细如下:NodeJS项目构建设置: Java项目构建设置:
写在最后 这是一篇水文,主要为了普及RockyLinux易用性,请轻拍。 下篇预告:在Rocky Linux 8.3 RC1上安装GitLab实现代码仓库同步容灾 ,如果您有任何想学习了解的技术,欢迎在下方留言,木子将根据需求输出对应基础技术博文。
参考文献 [1] Jenkins官方教程: https://www.jenkins.io/zh/doc/book/installing/
博客: 欧巴云 知乎: 欧巴云 51CTO: 欧巴云 云+社区: 欧巴云 微信公众号: 欧巴云