Jenkins基础: root URL设定

当Jenkins的root URL未设定时,会出现警告提示,影响邮件通知等功能。可以通过手工设定Jenkins管理页面的Jenkins URL或修改jenkins.model.JenkinsLocationConfiguration.xml文件来解决。详细步骤包括管理员登录,选择Mange Jenkins,修改配置,以及XML文件的修改位置和内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jenkins的root URL如果不设定会导致一些问题,所以后续的Jenkins在功能专门设定了对此值的监控,如果使用的时候未设定此值,会有一个警告的提示信息,这篇文章对于警告信息和对应方法进行了整理。

警告提示信息

Jenkins root URL在Jenkins的管理页面上的设定选项是Jenkins URL,缺省为http://localhost:8080,如果不设定会有如下警告提示信息。
在这里插入图片描述

Jenkins root URL is empty but is required for the proper operation of many Jenkins features like email notifications, PR status update, and environment variables such as BUILD_URL.

问题说明

因为Jenkins的root URL如果不设定或者忘记设定,会导致邮件通知设定等不能正常动作,为了

对应方法

对应方法1:手工设定

简单来说,直接在Jenkins的Configuration页面的Jenkins URL设定项,将localhost修改为域名或者IP即可。

菜单操作:以管理员账户登录,选择Mange Jenkins,然后选择Configuration,然后修改此页面的Jenins URL设定项即可,详细如下图所示。

在这里插入图片描述

对应方法2: xml设定文件方式

通过如下xml设定文件即可修改Jenkins的root URL

  • 文件名称: jenkins.model.JenkinsLocationConfiguration.xml
  • 放置路径: ${JENKINS_HOME}
  • 起效方式: Jenkins服务重启之后
  • 文件内容示例
<?xml version='1.1' encoding='UTF-8'?>
<jenkins.model.JenkinsLocationConfiguration>
  <adminAddress>liumiaocn@outlook.com</adminAddress>
  <jenkinsUrl>http://192.168.31.242:32002/</jenkinsUrl>
</jenkins.model.JenkinsLocationConfiguration>

Jenkins服务重启之后,可以看到上述示例内容的修改效果:
在这里插入图片描述

当然也有其他的方式,比如使用groovy脚本,可能会更加方便这里就不再一一列举。

参考内容

https://issues.jenkins-ci.org/browse/JENKINS-31661?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&showAll=true

### 如何使用 Jenkins 实现 CI/CD 流水线 #### 安装与配置 Jenkins 环境 为了实现持续集成和持续交付 (CI/CD),首先需要安装并配置 Jenkins 环境。通过 Docker 来部署 Jenkins 是一种高效的方法,可以快速启动 Jenkins 并简化环境管理[^1]。 ```bash docker run -d -p 8080:8080 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts ``` 这一步骤会拉取官方的 Jenkins LTS 版本镜像,并将其运行在一个容器内,同时映射端口和服务数据卷。 #### 初始设置 Jenkins 初次访问 Jenkins Web UI 后,需完成基础的安全性和插件配置: - 解锁 Jenkins:输入初始管理员密码。 - 自定义安装推荐插件集。 - 创建第一个管理员账户。 这些操作可以通过浏览器界面中的提示逐步完成。 #### 构建 Maven 项目 对于基于 Java 的应用程序来说,通常采用 Apache Maven 进行依赖管理和构建过程自动化。在 Jenkins 中创建一个新的自由风格软件项目来处理 Maven 工程是一个常见做法[^2]。 进入 **Dashboard -> New Item** 页面选择 "Freestyle project" 或者 Pipeline 类型的任务模板;接着指定源码仓库地址以及分支信息,在 Build 触发器部分设定轮询 SCM 时间间隔或其他触发条件;最后添加执行 `mvn clean package` 命令作为主要编译动作之一。 #### 推送镜像至 Harbor 私有库 当应用被打包成功之后,下一步就是制作相应的 Docker 镜像并将它们推送到私有的 Harbor 注册表中去。此过程中涉及到编写合适的 Dockerfile 文件描述目标服务所需的操作系统环境及其组件版本等内容[^3]。 假设已经准备好了一个名为 my-jenkins-slave 的自定义 Slave 节点镜像,则推送命令如下所示: ```bash [root@longxi-01 new]# docker tag my-jenkins-slave:v5 harbor.yuanlinux.com/library/my-jenkins-slave:v5 [root@longxi-01 new]# docker push harbor.yuanlinux.com/library/my-jenkins-slave:v5 ``` 上述指令先给本地镜像打标签以便于识别,再利用 `docker push` 将其上传到远程仓库。 #### 编写 Jenkinsfile 描述流水线逻辑 现代 DevOps 实践提倡声明式的管道脚本来表达整个开发周期内的各个阶段活动。可以在项目的根目录下放置一个叫做 Jenkinsfile 的文本文件用于记录具体的任务流程控制语句。 下面给出一段简单的 Groovy DSL 形式的例子展示如何串联起前面提到过的几个关键环节: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/user/repo.git' } } stage('Build') { steps { sh 'mvn clean install' } } stage('Test') { parallel { stage('Unit Tests') { ... } stage('Integration Tests') { ... } } } stage('Deploy Image') { steps { script { withDockerRegistry([credentialsId: 'harbor', url: '']) { sh ''' docker build -t ${IMAGE_NAME}:${BUILD_NUMBER} . docker push ${IMAGE_NAME}:${BUILD_NUMBER} ''' } } } } // 更多后续发布、通知等步骤... } post { always { junit '**/target/surefire-reports/*.xml' archiveArtifacts artifacts: '**/target/*.jar,**/target/*.war', onlyIfSuccessful: true } } } ``` 这段代码片段展示了从检出源码、执行构建测试直至最终打包成 Docker 映像并向 Harbor 发布的一系列连续化作业安排。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值