网站首页 > 博客文章 正文
本文介绍了如何使用 yaml 通过 Configuration as Code 插件设置 Jenkins 实例
每天分享最新软件开发,Devops,敏捷,测试以及项目管理最新,最热门的文章,每天花3分钟学习何乐而不为,希望大家点赞,加关注,你的支持是我最大的动力。
有时我们需要可见性,并且我们想要跟踪 Jenkins 实例是如何配置和参数化的。
从 Jenkins 用户界面做出这些更改是非常简单的,但是另一方面,我们并不跟踪历史更改,我们需要从一个菜单项跳转到另一个菜单项,以获得整个设置的大图。
根据 Jenkins Configuration 的代码插件文档:
Configuration as Code 插件是基于人类可读的声明性配置文件来配置 Jenkins 的一种固执己见的方法。编写这样一个文件应该是可行的,而不需要成为一个 Jenkins 专家,只需要将一个用于在 web UI 中执行的配置过程转换成代码即可。
在另一篇文章中,我们谈到了使用 Jenkinsfile 来跟踪所有管道变化的重要性。
现在,我们仍然可以使用相同的方法来使用 Configuration as Code 设置 Jenkins 实例,这意味着我们定义和声明所有实例参数和配置,并跟踪对 CI/CD 工具所做的任何更改。
让我们看看如何在实践中做到这一点。
用例
既然我们想要一个非常简单的 Jenkins 设置,让我们:
- 重新安装 Jenkins 的设备
- 定义一些环境变量
- 定义 JDK 工具安装
然后我们用 Jenkins 文件建立一个 Jenkins 管道:
- 打印一些环境变量
- 运行java --version 查看Java11版本
建立 Jenkins 实例
为了简化,让我们用 Docker 启动 Jenkins:
Shell
docker pull jenkins/jenkins:lts-jdk11brbrdocker run -p 8080:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:lts-jdk11
现在我们将使用 Configuration 作为 Code 插件ーー以及另一个。
点击 Manage Jenkins-> Manage Plugins-> 可用并安装以下插件:
- Configuration as Code
- AdoptOpenJDK installer
创建配置文件
现在我们需要为 Jenkins 实例声明配置,并定义管道的工作方式。
您可以在公共存储库中创建它们,就像我在这里所做的那样。
将您的配置创建为代码 yaml 文件(Jenkins Configs)
这将在 Jenkins 上定义两个新的全局环境变量,并建立一个 JDK11工具。
YAML
jenkins:
systemMessage: "Jenkins instance using Configuration as Code."
globalNodeProperties:
- envVars:
env:
- key: SOME_ENV_PATH
创建您的 Jenkins 文件(管道定义)
它将创建两个阶段:
- 打印我们定义的变量
- 运行java version 命令打印其版本
Groovy
jenkins:
systemMessage: "Jenkins instance using Configuration as Code."
globalNodeProperties:
- envVars:
env:
- key: SOME_ENV_PATH
value: "/path/to/somewhere"
- key: AWS_REGION
value: us-west-2
tool:
jdk:
installations:
- name: jdk11
home: "/jdk"
properties:
- installSource:
installers:
- adoptOpenJdkInstaller:
id: "jdk-11.0.14+9"
使用配置作为代码插件
更新您的 Jenkins 配置
每当您想要更新 yaml 文件中描述的配置时:
- 更新你的yaml 修改后的文件
- 去Manager Jenkins -> Configuration as Code 提供路径/URL 到您的yaml 文件中(在我的示例中,这是指向文件的 GitHub 原始 URL)点击应用新配置
然后单击“查看配置”查看最新的配置。
运行管道
创建指向 Jenkins 文件的 Jenkins 管道作业类型(示例如下) :
单击 Build 时,您将在控制台日志中看到相应的输出:
结论
使用配置作为代码插件肯定有助于跟踪对您的詹金斯配置所做的任何更改,并且使您的团队/公司的每个人都可见。
您仍然可以设置更复杂的东西(您可以在这里看到一些演示) ,并且还可以自动更新您的 Jenkins 配置(具有讽刺意味的是,使用 Jenkins 管道)。
欢迎在我的 GitHub 回购中查看这个练习所使用的文件。
https://github.com/rodrigocprates/jenkins-configuration-as-code
猜你喜欢
- 2025-05-25 SpringBoot注解终极宝典,这80+注解让你的开发效率飙升!
- 2025-05-25 Spring Cloud Alibaba Nacos Config 是如何读取配置的?
- 2025-05-25 Nacos 统一配置中心动态刷新机制真香
- 2025-05-25 Nacos:简单易用的配置管理和服务发现注册中心
- 2025-05-25 kustomize编排k8s的yaml文件
你 发表评论:
欢迎- 380℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 375℃用AI Agent治理微服务的复杂性问题|QCon
- 374℃IT全明星|IntelliJ IDEA学习笔记(四、idea中怎么创建maven项目)
- 366℃初次使用IntelliJ IDEA新建Maven项目
- 359℃Maven技术方案最全手册(mavena)
- 356℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 354℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 353℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)