Jenkins 平台搭建 | 为 Jenkins 配置 nginx 反向代理

这篇具有很好参考价值的文章主要介绍了Jenkins 平台搭建 | 为 Jenkins 配置 nginx 反向代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以 Centos7 系统为例,详细记录一下 Jenkins 搭建流程。

参考官网:https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos


Install Jenkins

从 redhat-stable yum 存储库中安装 LTS(长期支持) 版本,该版本较为稳定。

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
sudo yum install java-11-openjdk
# Verify 
java -version
sudo yum install jenkins
sudo systemctl daemon-reload

Start Jenkins

systemctl enable jenkins
systemctl start jenkins
systemctl status jenkins

Jenkins 平台搭建 | 为 Jenkins 配置 nginx 反向代理

Configuring the Jenkins platform

Unlocking Jenkins

当首次访问新的 Jenkins 实例时,系统会要求您使用自动生成的密码解锁它。

浏览到 http://localhost:8080(或在安装 Jenkins 时为它配置的任何端口)并等待解锁 Jenkins 页面出现。

Jenkins 平台搭建 | 为 Jenkins 配置 nginx 反向代理

在安装 Jenkins 的机器中查看  /var/lib/jenkins/secrets/initialAdminPassword 目录文件下的内容填入改框即可。  

Customizing Jenkins with plugins

Jenkins 平台搭建 | 为 Jenkins 配置 nginx 反向代理

解锁 Jenkins 后,会出现 Customize Jenkins 页面。作为初始设置的一部分,可以在此处安装任意数量的有用插件。

如果不确定需要什么插件,请选择安装建议的插件。您可以稍后通过 Jenkins 中的 Manage Jenkins > Plugins 页面安装(或删除)其他 Jenkins 插件。

Creating the first administrator user

 使用 admin 账号继续即可,也可以输入想创建的用户详细信息以创建新的管理员用户。

实例配置保存并完成即可。

以上,Jenkins 就安装成功可以正常使用了。

TroubeShooting

安装完成 Jenkins 后,通过 systemctl start Jenkins 启动,报错:

Job for jenkins.service failed because the control process exited with error code. See 
"systemctl status jenkins.service" and "journalctl -xe" for details.

如果直接通过 systemctl status jenkins 查看报错,报错会很模糊,找不到具体原因

[root@master init.d]# systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
   Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Tue 2023-03-21 09:56:52 CST; 35s ago
  Process: 11715 ExecStart=/usr/bin/jenkins (code=exited, status=1/FAILURE)
 Main PID: 11715 (code=exited, status=1/FAILURE)

Mar 21 09:56:52 master.cn systemd[1]: jenkins.service: main process exited, code=exited, status=1/FAILURE
Mar 21 09:56:52 master.cn systemd[1]: Failed to start Jenkins Continuous Integration Server.
Mar 21 09:56:52 master.cn systemd[1]: Unit jenkins.service entered failed state.
Mar 21 09:56:52 master.cn systemd[1]: jenkins.service failed.
Mar 21 09:56:52 master.cn systemd[1]: jenkins.service holdoff time over, scheduling restart.
Mar 21 09:56:52 master.cn systemd[1]: Stopped Jenkins Continuous Integration Server.
Mar 21 09:56:52 master.cn systemd[1]: start request repeated too quickly for jenkins.service
Mar 21 09:56:52 master.cn systemd[1]: Failed to start Jenkins Continuous Integration Server.
Mar 21 09:56:52 master.cn systemd[1]: Unit jenkins.service entered failed state.
Mar 21 09:56:52 master.cn systemd[1]: jenkins.service failed.

我们换一种启动方式查看报错,进入 /etc/init.d,通过 ./jenkins start 启动

[root@master init.d]# cd /etc/init.d

[root@master init.d]# ./jenkins restart
Starting Jenkins Running with Java 19 from /usr/lib/jvm/jdk-19-oracle-x64, which is not yet fully supported.
Run the command again with the --enable-future-java flag to enable preview support for future Java versions.
Supported Java versions are: [11, 17]

从这里能看出来,是我们安装的版本不对,支持的Java版本只有:[11,17],所以我们需要通过 rpm -e --nodeps 强制卸载已安装的版本,安装另外的版本。

[root@master init.d]# rpm -qa|grep jdk
java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64
copy-jdk-configs-3.3-11.el7_9.noarch
jdk-19-19.0.2-7.x86_64

[root@master init.d]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64
[root@master init.d]# rpm -e --nodeps jdk-19-19.0.2-7.x86_64

 在官网找到合适版本的链接:Java Downloads | Oracle 中国

[root@master ~]# wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
--2023-03-21 09:44:24--  https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
Resolving download.oracle.com (download.oracle.com)... 23.192.208.88
Connecting to download.oracle.com (download.oracle.com)|23.192.208.88|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 181343596 (173M) [application/x-redhat-package-manager]
Saving to: ‘jdk-17_linux-x64_bin.rpm’

100%[==========================================================================================>] 181,343,596 15.2MB/s   in 13s

2023-03-21 09:44:37 (13.3 MB/s) - ‘jdk-17_linux-x64_bin.rpm’ saved [181343596/181343596]

[root@master ~]# rpm -ivh jdk-17_linux-x64_bin.rpm
warning: jdk-17_linux-x64_bin.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk-17-2000:17.0.6-9             ################################# [100%]


[root@master ~]# java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)

然后在 /etc/init.d 下重新启动 Jenkins 即可

[root@master ~]# cd /etc/init.d

[root@master init.d]# ./jenkins start
Starting Jenkins Running from: /usr/share/java/jenkins.war
                                                           [  OK  ]

为 Jenkins 配置 nginx 反向代理

参考:Reverse proxy - Nginx

nginx 配置:只需在监听 80 端口的 server 块中添加一个 location 块

location /jenkins {
    proxy_pass http://127.0.0.1:8080;
    access_log /var/log/nginx/jenkins-access.log;
}

根据以上内容正常安装好 Jenkins 后,我们直接访问 http:ip:8080 即可访问到 Jenkins 网站,即 Jenkins 的根目录直接是端口,没有统一的一个目录。

而配置该 nginx 后,会将 本机 ip/jenkins 的访问代理到 http://ip:8080/jenkins 上,但我们 Jenkins 网站默认首页直接就是端口,并没有/jenkins 这个 url,所以当我们直接访问 ip/jenkins 时就会返回 404。

所以 Jenkins 控制器和反向代理必须使用相同的上下文路径,需要修改 Jenkins 的 URL,即如果 Jenkins 控制器的 URL  为https://www.example.com/jenkins/,那么 --prefix=/jenkins 参数必须包含在 jenkins 控制器命令行参数中。

通过运行 systemctl edit jenkins 并添加以下内容来设置使用 Linux 包时的上下文路径:

systemctl edit jenkins 

[Service]
Environment="JENKINS_PREFIX=/jenkins"

然后重启 Jenkins 服务,可以通过 systemctl status jenkins 查看到我们新加的内容 

Jenkins 平台搭建 | 为 Jenkins 配置 nginx 反向代理

这时再通过 http://ip/jenkins 访问即可正常访问~文章来源地址https://www.toymoban.com/news/detail-456315.html

到了这里,关于Jenkins 平台搭建 | 为 Jenkins 配置 nginx 反向代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos7使用Nginx配置HTTPS正向代理

    Nginx默认安装只支持代理HTTP, 不支持代理 HTTPS, 如果需要支持HTTPS需要在Nginx编译时加入 ngx_http_proxy_connect_module. 从 ngx_http_proxy_connect_module 模块仓库下载源代码压缩包, 并确定支持的 Nginx 版本 仓库地址: https://github.com/chobits/ngx_http_proxy_connect_module/ 得到文件: ngx_http_proxy_connect_mo

    2024年04月26日
    浏览(34)
  • Nginx之Centos7安装及配置代理多个后端服务

    官网地址:http://nginx.org/ 本文下载的是 nginx-1.21.1.tar.gz 解压 进入到 /opt/software/nginx-1.21.1 目录中执行下面命令,按照出差信息一依次安装所有依赖即可 安装gcc-c++依赖 下面错误,执行 yum -y install pcre-devel 解决 下面错误,执行 yum install -y zlib-devel 解决 再执行 ./configure 看到下面信

    2024年01月24日
    浏览(51)
  • 拓展操作(四) 使用nginx反向代理jenkins

    让清单成为一种习惯 互联网时代的变革,不再是简单的开发部署上线,持续,正确,安全地把事情做好尤其重要;把事情做好的前提是做一个可量化可执行的清单,让工程师就可以操作的清单而不是专家才能操作: 设定检查点 根据节点执行检查程序 操作确认或边读边做 二

    2024年01月18日
    浏览(53)
  • Nginx反向代理 配置实例

    介绍: 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问。 我们只 需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返 回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理

    2024年02月15日
    浏览(40)
  • nginx反向代理配置

    客户端对代理是无感知的,只需将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址 浏览器访问 www.123.com ,访问nginx的地

    2024年02月17日
    浏览(42)
  • Nginx-反向代理(配置教程)

     反向代理的作用 1、解决网站服务器对外可见的问题、私密性、安全性 2、路由功能:根据用户请求的URI调度到对应功能的节点处理请求 3、负载均衡:将用户的请求,通过调度算法挑选一台合适的节点处理请求 4、动静分离:根据用户请求的URI进行区分,将动态资源调度到应

    2024年02月13日
    浏览(41)
  • 基于Docker MinIO整合Nginx搭建反向代理

    docker拉去镜像安装和配置就不说了 主要说一下配置反向代理 第一次使用minio我陷入了一个误区,将nginx的data目录挂载到了minio的文件目录,这样是可以通过nginx访问minio文件,但是没有任何意义,也没有做任何的代理设置,研究了很久最后把nginx容器停了重新run一个,然后配置

    2024年02月09日
    浏览(41)
  • Nginx代理nginx.conf配置——反向代理(对WebSocket支持)

    基于Nginx代理nginx.conf配置——反向代理,如果要添加websocket支持,需要进行如下配置 在http中添加一下配置,添加对websocket支持 配置后重新运行nginx后,websocket即可成功代理。 注意防火墙端口是否开放、nginx如果使用docker,其对应的端口是否映射出来。

    2024年02月13日
    浏览(39)
  • Nginx配置反向代理实例二

    Mac 安装Nginx教程 Nginx配置反向代理实例一 提醒一下:下面实例讲解是在Mac系统演示的; 反向代理实例二实现的效果 使用nginx 反向代理,根据访问的地址跳转到不同端口的服务中 nginx 监听端口为81; 访问地址1:http://192.168.0.101:81/test/a8080.html 直接跳转到http://127.0.0.1:8080 访问地

    2024年01月23日
    浏览(43)
  • nginx配置例子-反向代理实现

    4.1 反向代理实现(实例1) 4.1.1需要实现的效果 (1)打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到liunx.系统tomat主页面中 4.1.2 准备工作 (1)在liunx, 系统安装 tomcat, 使用默认端口8080. tomcat安装文件放到 liunx系统中,解压。 (安装前,可以使用java -version 查 jdk 是否安装,

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包