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

Mat*_*kao 0 java gradle bitbucket-pipelines

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

但是,我的 build.gradle 文件中现在也有变量,但是当我尝试使用gradle build.

我不断收到的错误是 could not get unknown property '$context_url' for root project 'my_project' of type org.gradle.api.Project.

变量位于 artifactory/publish 部分:

artifactory {
    contextUrl = $context_url
    publish {
        repository {
            repoKey = 'repo'
            username = $artifactory_user
            password = $artifactory_password
        }
        defaults {
            publications('mavenJava')
            publishArtifacts = true
            publishPom = true
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

我在 gradle.build 文件中尝试了不同的语法,例如:

  • $context_url
  • '$context_url'
  • "$context_url"

变量在本地工作,我将变量存储在我的个人 ~/gradle/gradle.properties 文件中。

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

Opa*_*pal 5

我想您将环境变量与 gradle 属性混为一谈。如果您的意思是环境变量,那么您可以使用以下内容引用它们:

System.getenv('context_url')
Run Code Online (Sandbox Code Playgroud)

通常,环境变量以大写字母命名。

当涉及到 gradle 属性时,如果context_url保存在gradle.properties文件中,它应该可以正常工作。您可以尝试通过project, so来引用它project.context_url。$context_url 并且'$context_url'绝对不会这样做,因为第一个只是一个带有名称的变量,$context_url第二个是一个String带有双引号的字符串评估的实例"。