首页 > 其他分享 >CI工具Jenkins本地部署结合内网穿透实现无公网IP访问Jenkins站点

CI工具Jenkins本地部署结合内网穿透实现无公网IP访问Jenkins站点

时间:2024-05-27 18:00:10浏览次数:32  
标签:CI sudo IP 公网 访问 cpolar Jenkins jenkins

文章目录

本文主要介绍如何在Linux CentOS 7中安装Jenkins并结合cpolar内网穿透工具实现远程访问管理本地部署的Jenkins服务.

Jenkins是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用的平台,用于构建、测试和交付软件的过程。

在这里插入图片描述

1. 安装Jenkins

根据官方安装文档教程:https://www.jenkins.io/doc/book/installing/linux/,我们分别输入以下指令进行安装

#添加源
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-2023.key
#更新仓库,遇到提示,输入y即可
sudo yum upgrade
#安装JDK,如已安装,可以直接跳过
sudo yum install java-11-openjdk
#安装Jinkens
sudo yum install jenkins

sudo systemctl daemon-reload

安装过程中没有报错即可表示成功,接下来启动 Jenkins

#设置开机启动
sudo systemctl enable jenkins

#启动Jenkins
sudo systemctl start jenkins

#查看状态
sudo systemctl status jenkins

启动成功后,我们检查Jenkins状态,可以看到,状态运行中,同时,在下面也显示了我们访问Jenkins的本地端口8080,目前最新版Jenkins 不支持低版本的JDK,建议安装更高一点的JDK版本.

在这里插入图片描述

2. 局域网访问Jenkins

上面我们运行Jenkins服务后看到了本地端口为8080,在外部浏览器,输入Linux 局域网IP地址+8080端口,即可访问到Jenkins web 界面,如访问不上,可以关闭防火墙试一下

在这里插入图片描述

上面我们在界面上可以看到需要输入一个超级管理员密码,我们按照提示,查看对应的配置文件查看密码

cat /var/lib/jenkins/secrets/initialAdminPassword

输入后,可以看到非常长的一个字符串,这个就是登录的密码

在这里插入图片描述

通过我们查看到的密码,在界面上输入后即可登录成功,接下来我们即可操作使用jenkins了,目前的访问是通过局域网方式,接下来我们安装配置cpolar.实现远程访问

在这里插入图片描述

3. 安装 cpolar内网穿透软件

上面我们在本地Linux中安装和启动了Jenkins服务,并且本地访问ok,下面我们在Linux安装cpolar内网穿透工具,通过cpolar的http公网地址,我们可以很容易实现远程访问Jenkins,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 界面配置即可

20230130105810

4. 配置Jenkins公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个我们上面http访问方式的80隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8080
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

在这里插入图片描述

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,有两种访问方式,一种是http 和https,两种方式都可以访问

在这里插入图片描述

5. 公网远程访问Jenkins

我们使用http公网地址访问,即可看到我们Jenkins站点,这样一个公网地址且可以远程访问就创建好了,新地址访问,可能需要重新登录.我们重新输入上面查看的密码登录即可

在这里插入图片描述

6. 固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

在这里插入图片描述

保留成功后复制保留的二级子域名的名称

在这里插入图片描述

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的Jenkins隧道,点击右侧的编辑

在这里插入图片描述

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

在这里插入图片描述

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

在这里插入图片描述

最后,我们使用固定的公网地址访问Jenkins站点,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了:
在这里插入图片描述

标签:CI,sudo,IP,公网,访问,cpolar,Jenkins,jenkins
From: https://blog.csdn.net/2301_77485708/article/details/139244453

相关文章

  • TypeScript中的`let`、`const`、`var`区别:变量声明的规范与实践
    TypeScript中的let、const、var区别:变量声明的规范与实践引言在TypeScript中,变量声明是代码编写的基础部分。let、const、var是三种用于变量声明的关键字,它们各自有不同的作用域规则和可变性特点。基础知识作用域:变量可以在整个文件(全局作用域)或某个特定代码块(局部作用......
  • RISC-V 汇编语言--bbci 指令
    bbci 指令是RISC-V汇编语言中的一个条件分支指令,全称为"BranchifBitisClearandIncrement"。该指令会检查指定寄存器中的某一位是否被清除(即为0),如果是,则跳转到指定的标签或地址执行代码。在执行跳转之前,它还会将该位设置为1(即对该位进行“置位”操作)。具体来说,bbci ......
  • java list分组并对bigdecimal属性求和
    JavaList分组并对BigDecimal属性求和在Java中,我们经常需要对一个List进行分组,并对其中的BigDecimal属性进行求和操作。这种需求在实际项目中非常常见,比如在处理财务数据、统计数据等场景中。本文将介绍如何使用Java来实现这一功能,同时会提供代码示例来帮助读者更好地理解。1.使......
  • clip-cnblog
    CLIPgithubLearningTransferableVisualModelsFromNaturalLanguageSupervisionCLIP全称ConstrastiveLanguage-ImagePre-training,是OpenAI推出的采用对比学习的文本-图像预训练模型。CLIP惊艳之处在于架构非常简洁且效果好到难以置信,在zero-shot文本-图像检索,zero-sho......
  • jenkins中任务,带参数构建
    1、jenkins中配置 2、在构建中把参数引用 3、脚本中获取变量importsys用sys.argv获取对应的变量 4、执行jenkins任务,选择“BuildwithParameters” ......
  • 【白鲸优化算法】 tent、chebyshev、Singer、Logistic、Sine, Circle多种混沌初始化的
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 【白鲸优化算法】 tent、chebyshev、Singer、Logistic、Sine, Circle多种混沌初始化的
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • Windows中,Jenkins上部署ui自动化自启动浏览器(不使用无头模式)
    1、window上安装jenkins,我是借助以下链接进行安装的:Windows系统下Jenkins安装、配置和使用_jenkinswindows-CSDN博客2、jenkins安装中与github连接:jenkins+github集成自动化测试环境搭建(2)-jenkins+github集成_jenkins自动化测试集成github-CSDN博客3、解决jenkins运行ui......
  • 在JavaScript中如何移除数组中的特定项
    在日常开发中,我们经常需要从数组中移除某个特定的元素。在JavaScript中,存在多种不同的方法来完成这一任务,本文将总结几种常见的处理方式,并介绍它们的优缺点。常规情况1.使用.splice()方法按值移除数组元素是否修改原数组:是是否移除重复项:是(使用循环),否(使用i......
  • 代码雨(coderain)源码(html5+css3+javascript,原创)
     大家看过黑客帝国的代码雨吗?本人自己写了一个,效果还可以。演示效果请见https://www.lanbaoshi.site/coderain.htm下面上代码:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="htt......