前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Rocky Linux 8.3 RC1部署Jenkins搭建NodeJS与Java编译环境

使用Rocky Linux 8.3 RC1部署Jenkins搭建NodeJS与Java编译环境

原创
作者头像
欧巴云
修改2021-05-11 18:07:56
3520
修改2021-05-11 18:07:56
举报
文章被收录于专栏:木子说木子说

文章声明:此文基于木子实操撰写

生产环境:Rocky Linux release 8.3, jenkins-2.277.4-1.1, jdk1.8-1.8.0_202

问题关键字:使用Rocky Linux 8.3 RC1部署Jenkins搭建NodeJS与Java编译环境


前述

目前公司所有新业务都跑在Kubernetes中,但因为历史遗留问题,原来旧的服务很多还跑在虚拟机当中,没办法一下子切换至Kubernetes,旧服务器下架,为了保障这块业务的快速部署,需要迁移对应Jenkins。刚好最近Rocky Linux 8.3 RC1发布,虽然说不建议在生产环境使用,但在木子看来用做Jenkins构建服务器应该问题不大,于是就有了这篇文章。

安装Jenkins

代码语言:txt
复制
# 配置安装源
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

# 安装JDK
wget http://83.103.170.157/apps/java/jdk_1.8/jdk/jdk-8u202-linux-x64.rpm
yum localinstall jdk-8u202-linux-x64.rpm

# 安装Jenkins
dnf install jenkins
# 如果通过dnf无法安装,可能下载RPM包,手动安装
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

# 启动Jenkins
systemctl start jenkins && systemctl status jenkins

# 查看对应启动进程,可以看到对应的WEB端口为8080
[root@localhost ~]# ps -ef | grep jenkins
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的设置,简单粗暴就是直接禁用,或者添加对应规则,生产环境建议后者。

代码语言:txt
复制
# 直接禁用防火墙
systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld

# 放行端口
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload

[root@localhost ~]# firewall-cmd --list-all
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:

# 禁用SELinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

Nginx 反向代理

如果您使用80或443反向代理Jenkins服务,可以在Nginx中添加以下配置,此步骤可以跳过。

代码语言:txt
复制
# Jenkins 8080
upstream jenkins {
        server                          127.0.0.1:8080 fail_timeout=0;
}

# Nginx反向代理
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管理员密码

代码语言:txt
复制
cat /var/lib/jenkins/secrets/initialAdminPassword

http://IP:8080,打开对应页面,输入密码,开始初始化配置。

安装Jenkins社区推荐的插件。

开始安装......

可以继续使用admin账号,也可以自己单独创建一个账号。

设置Jenkins URL信息

重启Jenkins服务

安装插件

NodeJS插件安装:

JDK插件安装:

配置插件

Global Tool Configuration中设置MavenNodeJS版本,这个根据公司开发同学所使用的版本进行选择。

项目设置

在配置持续构建的过程中,对于NodeJS与Java项目,我们需要进行不同的设置,详细如下:

NodeJS项目构建设置:

Java项目构建设置:

写在最后

这是一篇水文,主要为了普及RockyLinux易用性,请轻拍。

下篇预告:在Rocky Linux 8.3 RC1上安装GitLab实现代码仓库双向同步容灾,如果您有任何想学习了解的技术,欢迎在下方留言,木子将根据需求输出对应基础技术博文。

参考文献

1 Jenkins官方教程: https://www.jenkins.io/zh/doc/book/installing/


五平台同步更新:

博客: https://www.oubayun.com

知乎: 欧巴云

51CTO: 欧巴云

云+社区: 欧巴云

微信公众号: 欧巴云

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前述
  • 安装Jenkins
  • 防火墙与SELinux设置
  • Nginx 反向代理
  • 初始化Jenkins
  • 安装插件
  • 配置插件
  • 项目设置
  • 写在最后
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档