我有一个运行不错的bitbucket管道脚本和一个version.sh bash脚本。管道将调用版本脚本,并且version.sh内有一些环境变量,这些环境变量已由bitbucket正确引用(我在回购设置中添加了这些变量)。
但是,我的build.gradle文件中现在也有变量,但是当我尝试gradle build
时,这些变量总是在管道中给我错误。
我不断遇到的错误是could not get unknown property '$context_url' for root project 'my_project' of type org.gradle.api.Project.
变量在“人工制品/发布”部分中:
artifactory {
contextUrl = $context_url
publish {
repository {
repoKey = 'repo'
username = $artifactory_user
password = $artifactory_password
}
defaults {
publications('mavenJava')
publishArtifacts = true
publishPom = true
}
}
}
我在gradle.build文件中尝试了不同的语法,例如:
$context_url
'$context_url'
"$context_url"
变量在本地工作,我将变量存储在个人的〜/ gradle / gradle.properties文件中。
不确定其他尝试方法。
答案 0 :(得分:2)
我想您用gradle属性弄乱了环境变量。如果您指的是环境变量,则可以使用以下参数引用它们:
System.getenv('context_url')
通常,环境变量以大写字母命名。
关于gradle属性,如果context_url
被保存在gradle.properties
文件中,那么它应该可以正常工作。您可以尝试通过project
来引用它,所以可以project.context_url
来引用它。 $context_url
和'$context_url'
绝对不会,因为第一个只是名称为$context_url
的变量,第二个是String
的实例-字符串评估工作双引号"
。