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

时间:2018-11-02 18:04:07

标签: java gradle bitbucket-pipelines

我有一个运行不错的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文件中。

不确定其他尝试方法。

1 个答案:

答案 0 :(得分:2)

我想您用gradle属性弄乱了环境变量。如果您指的是环境变量,则可以使用以下参数引用它们:

System.getenv('context_url')

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

关于gradle属性,如果context_url被保存在gradle.properties文件中,那么它应该可以正常工作。您可以尝试通过project来引用它,所以可以project.context_url来引用它。 $context_url'$context_url'绝对不会,因为第一个只是名称为$context_url的变量,第二个是String的实例-字符串评估工作双引号"