首页 > 其他分享 >Jenkins 配置文件管理插件 Config File Provider

Jenkins 配置文件管理插件 Config File Provider

时间:2024-07-09 16:29:56浏览次数:15  
标签:文件 插件 配置文件 管理 构建 File Jenkinsfile

我对Jenkins的使用,很早就脱离了创建普通job然后进行各种参数配置这样的使用方式,一直以来都在使用 Pipeline 多分支流水线基于 Groovy 脚本的方式来进行构建。
程序化即是可通用化,将多个需要构建的工程统一标准进行抽象,形成统一的构建模型,然后编写 groovy 脚本形成 Jenkinsfile 来构建 job,最终使得新增 job 更加简单、灵活。

场景
在构建项目的时候,可能有多种不同的构建模型(有不同,但是一定不会太多,因为你公司的项目构建方式无外乎几种常用的,肯定不会出现每个工程都完全不一样的构建方式)。这个时候我们需要可视化统一管理这些配置文件,我主要包括:maven的settings.xml文件、构建核心Jenkinsfile文件、Dockerfile文件。

一开始我是把这些文件放在服务器上指定位置进行管理的,这样偶尔出现要调整或者对脚本和配置升级的时候,我就需要登录服务器,然后 vim 编写和修改。
还有就是我这些脚本里难免会预置一些配置参数和依赖的相关系统环境IP地址等信息,在不同环境直接迁移部署的时候总要进行一些调整,所以我不想每次登陆 shell 去操作(按惯例每次总会出现一些遗漏点而且在服务器上修改肯定没有可视化管理更快捷方便)。
于是发现了本文标题所述的插件 Config File Provider,插件官方地址为 https://plugins.jenkins.io/config-file-provider/

被这个插件管理的文件,界面截图示范如下图:


而我对它使用的具体步骤如下:
1、通过它管理 maven 配置文件、Dockerfile 文件、Jenkinsfile文件。
2、Jenkinsfile 是在创建 job 的时候设定的。
3、在 Jenkinsfile 中,进行 Dockerfile 构建镜像的时候,使用 docker build -t hello:v1.0.0 -f $DOCKERFILE_PATH 动态传入被这个插件管理的 Dockerfile 文件。

通过以上所述场景,我把所有常用的配置文件都通过这个插件来可视化管理,然后在 Jenkinsfile 执行一些列命令的时候都可以获取被管理的文件进行执行,它可以管理任何你需要的配置类文件。

获取文件的脚本
Jenkins Pipelines 脚本获取被这个插件所管理的文件的代码示例如下:

configFileProvider([configFile(fileId: 'Dockerfile', variable: 'DOCKERFILE_PATH')]) {
sh 'docker build -t hello:v1.0.0 -f $DOCKERFILE_PATH'

其中 fileId 指插件管理的配置文件的文件ID,variable 定义一个变量,插件会将指定文件的路径赋值给这个变量。在脚本使用的时候,你可以通过这个文件的路径去读取这个文件内容,或者直接使用这个路径指向的文件。


————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/catoop/article/details/119358736

标签:文件,插件,配置文件,管理,构建,File,Jenkinsfile
From: https://www.cnblogs.com/cheyunhua/p/18292239

相关文章

  • 4.7 在 VS Code 中校验 Jenkinsfile
    在日常工作中,我经常需要创建或修改很多Jenkinsfile,有时还会发生错误。这是一个非常繁琐的流程——修改Jenkinsfile,提交、推送,然后等Jenkins提醒你少加了一个括号。Command-linePipelineLinter(https://jenkins.io/doc/book/pipeline/development/)可以有效地减少编写Jenk......
  • 4.1 开始编写Jenkinsfile
    为什么使用pipeline?本质上,jenkins是一个自动化引擎,它支持许多自动模式。流水线向Jenkins添加了一组强大的工具,支持用例、简单的持续集成到全面的持续交付流水线。通过对一系列的发布任务建立标准的模板,用户可以利用更多流水线的特性,比如:代码化:流水线是在代码中实现的,通常会......
  • [1027] Convert the .py file to the .exe file without opening the Command Line Wi
    ref:Howtoremoveblackscreen(pythonconsole?)withPyQt5executable"C:\Users\User\AppData\Local\Programs\Python\Python311\Scripts\pyinstaller.exe"pipinstallpyinstallerpyinstaller--noconsole--onefilexyz1234.pyAh,PyIn......
  • 3.2 Ansible lineinfile模块详解
    1简介之所以专门说一说这个模块,是因为lineinfile在实际使用中非常有用。lineinfile模块用于在源文件中插入、删除、替换行,和sed命令的功能类似,也支持正则表达式匹配和替换。实际上,在大多数时候,我们在linux上的操作,就是针对文件的操作,通过配置管理工具对配置文件作统一的配置修......
  • IIS部署后运行报错:“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporar
    IIS报错当前标识(IISAPPPOOL.NETv4.5)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\TemporaryASP.NETFiles”的写访问权限。解决方法:1、以管理员权限运行PowerShell2、输入以下指令:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Aspnet_regiis.exe-ga'......
  • 在计算机取证中,Volatility 是一个流行的开源内存取证工具,专门用于分析内存镜像以发现
    在计算机取证中,Volatility是一个流行的开源内存取证工具,专门用于分析内存镜像以发现系统运行时的信息。它提供了丰富的功能和插件,用于检测和分析操作系统中的各种活动,包括进程、网络连接、注册表、文件系统等。下面是一些Volatility的基本特点和使用场景:主要特点:多平台支持......
  • MybatisX插件使用
    什么是MybatisX插件:MybatisX是idea的一个插件,可以方便地生成MyBatis的映射文件和对应的Java代码。MybatisX的优点:提高开发效率,提高开发效率更方便进行数据库操作怎么使用MybatisX:创建一个springboot项目,在pom.xml文件中引入mybatis-plus依赖建立MySQL连接输入......
  • 腾讯云COS插件入驻Discuz!x
    Discuz!Discuz!平台,由一群高擎互联网人在倾情支持,他们来自于腾讯Discuz!创业团队成员以及优秀的开发者。在中国互联网风云变迁中,Discuz!20多年间为300万企业及站长赋能,秉承“开放、连接、共赢”的精神,倡导与生态伙伴及开发者共建健康可持续的Discuz!品牌合作模式,突破以往需求......
  • 如何用Stable Diffusion给人物换脸(免费插件学完就能用)
    哈喽大家好,AI今天给大家分享是的如果利用StableDiffusion给人物换脸!今天给大家推荐一款插件,不用训练loar也能给人物进行换脸!我们都知道日常换脸,需要的技术难度大,而且普通技术换脸的效果往往不够自然,尤其是在表情和面部细节的处理上。容易产生不真实感和违和感,光影融合度较......
  • idea修改java 配置文件编码格式,验证配置项的值是否为目标编码格式
    idea修改java配置文件编码格式,验证配置项的值是否为目标编码格式实现“idea修改java配置文件编码格式”流程步骤一:打开项目配置文件首先,我们需要打开项目的配置文件,这里以使用Idea开发工具为例。步骤二:定位到配置文件找到项目目录下的src/main/resources文件夹,该文件夹一般......