Java Bitbucket管道:无法识别build.gradle文件中的环境变量

Java Bitbucket管道:无法识别build.gradle文件中的环境变量,java,gradle,bitbucket-pipelines,Java,Gradle,Bitbucket Pipelines,我有一个bitbucket管道脚本和一个version.sh bash脚本,它们运行得很好。管道将调用版本脚本,并且version.sh中有由bitbucket正确引用的环境变量(我在repo的设置中添加了这些变量) 但是,我的build.gradle文件中现在也有变量,但是当我尝试gradle构建时,这些变量在管道中不断给我错误 我一直得到的错误是无法为org.gradle.api.project类型的根项目“我的项目”获取未知属性“$context\u url”。 变量位于artifacto

我有一个bitbucket管道脚本和一个version.sh bash脚本,它们运行得很好。管道将调用版本脚本,并且version.sh中有由bitbucket正确引用的环境变量(我在repo的设置中添加了这些变量)

但是,我的build.gradle文件中现在也有变量,但是当我尝试
gradle构建时,这些变量在管道中不断给我错误

我一直得到的错误是
无法为org.gradle.api.project类型的根项目“我的项目”获取未知属性“$context\u url”。

变量位于artifactory/publish部分:

artifactory {
    contextUrl = $context_url
    publish {
        repository {
            repoKey = 'repo'
            username = $artifactory_user
            password = $artifactory_password
        }
        defaults {
            publications('mavenJava')
            publishArtifacts = true
            publishPom = true
        }
    }
} 
我在gradle.build文件中尝试了不同的语法,例如:

  • $context\u url
  • “$context\u url”
  • “$context\u url”
变量在本地工作,我将变量存储在我的个人~/gradle/gradle.properties文件中


不知道还有什么可以尝试的

我想你把环境变量和渐变属性搞混了。如果您指的是环境变量,那么您可以使用以下内容引用它们:

System.getenv('context_url')
通常,环境变量以大写字母命名


当涉及到gradle属性时,如果
context\u url
保存在
gradle.properties
文件中,它应该可以正常工作。您可以尝试通过
project
引用它,因此
project.context\u url
$context\u url
'$context\u url'
肯定不行,因为第一个变量只是一个名为
$context\u url
的变量,第二个变量是
字符串的实例
-字符串计算使用双引号

我想你把环境变量和渐变属性搞混了。如果您指的是环境变量,那么您可以使用以下内容引用它们:

System.getenv('context_url')
通常,环境变量以大写字母命名


当涉及到gradle属性时,如果
context\u url
保存在
gradle.properties
文件中,它应该可以正常工作。您可以尝试通过
project
引用它,因此
project.context\u url
$context\u url
'$context\u url'
肯定不行,因为第一个变量只是一个名为
$context\u url
的变量,第二个变量是
字符串的一个实例,字符串求值可以使用双引号

如果这些变量确实是env变量,请尝试:
System.getenv”('context\u url')
如果这些确实是env变量,请尝试:
System.getenv('context\u url')
这使其在Bitbucket管道中通过,但在本地计算机(OSX)上的命令行上失败这使其在Bitbucket管道中通过,但在本地计算机(OSX)上的命令行上失败