jenkins - 如何将参数从 Jenkins 脚本传递到 gradle
问题描述
我从我的Jenkins
groovy 脚本中得到了这段代码:
./gradlew -PgroupParam='123' -PversionParam=${params.versionParam} clean build --info
我想知道我们如何在我的gradle.build
文件中使用这些参数(groupParam、versionParam)?
它的最佳做法是什么?
在我的gradle.build
我试图让他们像这样,它返回null
:
def groupParam = System.getProperty("groupParam")
def versionParam = System.getProperty("versionParam")
而且这种方法也返回了相同的结果:
def groupParam = System.getenv("groupParam")
def versionParam = System.getenv("versionParam")
解决方案
可以使用 method 访问传递的参数project.getProperty(String)
。在您的情况下,您可以使用project.getProperty('groupParam')
and project.getProperty('versionParam')
。
getProperty(String)
将返回MissingPropertyException
以防该属性不存在,因此最好在使用hasProperty(String)
之前使用 menthod getProperty()
。
if(project.hasProperty('groupParam')) {
// do this
}
推荐阅读
- php - 在 PHP 中替换字符串中的字符
- javascript - 使用 map 将新项目推送到数组的末尾,而不是推送具有更新值的新数组
- regex - 为什么当使用 -zoP 调用 grep 并匹配反向引用后跟换行符时,grep 会延迟匹配?
- spring-boot - S3 API Gateway 的有效负载限制为 10 MB,但为什么我能够上传超过 10 Mb 的文件?
- python - 轮盘赌计划 - 加起来现金
- python - 设置文本中的每个句子(或字符串)都有自己的 URL
- c# - 对象引用未设置为对象的实例 - 未引用什么对象?
- php - 分页表的制作方法
- html - 对于我的 html 代码,任何浏览器都会自动阻止网络摄像头权限
- mysql - 如何删除zend框架查询中的行?