jenkins - 如何通过更改 Jekinsfile 配置推送到 Gitlab 后自动进行版本控制
问题描述
我的项目有一个 Jekinsfile 配置,我想对文件进行一些更改以获得自动内部版本号。
我自己添加了 1.0.BUILD_NUMBER,我是这个 jenkins 管道的新手,感到很困惑,谁能帮助我?整个上午都在挣扎。在网上找到了很多教程和文章,但似乎都不相关,因为我的 jenkins 文件已经设置好,可以提交到 gitlab repo master 并且可以触发 jenkins 现在运行,不知道下一步该做什么来自动更新版本。
解决方案
从问题中,我了解到您正在尝试1.0.
在变量之前追加BUILD_NUMBER
,然后将此值存储在地图configHash
中以便稍后检索。
字符串变量BUILD_NUMBER
在构建开始时由 Jenkins 在环境中注入,并在运行时由管道 Groovy 脚本进行插值。但是,1.0.BUILD_NUMBER
被解释为好像您正在尝试访问java.math.bigDecimal 类BUILD_NUMBER
的属性并返回错误。 1.0
您需要在这里使用Groovy 字符串连接,可以是 java.lang.String 类 configHash.put('ci.jenkins.build_number', '1.0.' + BUILD_NUMBER)
或 groovy.lang.GString 类configHash.put('ci.jenkins.build_number', "1.0.${BUILD_NUMBER}")
。
推荐阅读
- oracle - 如果在 PL/SQL 中存在 - 如果不存在,如何使用?
- jenkins - spec.volumes[1].name:重复值:“workspace-volume”
- docker - 使用 nginx docker 部署 react 应用程序时如何使路由工作
- visual-studio-code - 如何在 vscode 活动栏中包含输入字段(侧边栏)
- c++ - 如何为 C++ 编译和运行创建 .JSON 任务?(VS代码)
- symfony - 如何通过 symfony 3.4 中的 redirectToRoute 将 id 从一个控制器传递到另一个控制器?
- botframework - 如何从单独的瀑布对话框中取消所有对话框
- html - CSS:它的背景色来自哪里的边距和填充?
- batch-file - 批处理:'FOR' cmd 部分工作,'skip=' 选项不起作用
- etl - 根据 Pentaho Kettle 中的关键字过滤数据的 ETL 作业