Конвейер Bitbucket: переменные среды в файле build.gradle не распознаются - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть скрипт конвейера bitbucket и скрипт bash version.sh, которые хорошо играют. Конвейер вызовет скрипт версии, и внутри 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 голосов
/ 05 ноября 2018

Полагаю, вы путаете переменные окружения со свойствами gradle. Если вы имеете в виду переменные окружения, то вы ссылаетесь на них:

System.getenv('context_url')

Как правило, переменная окружения именуется заглавными буквами.

Когда дело доходит до свойств gradle, если context_url хранится в файле gradle.properties, он должен просто работать OOTB. Вы можете попытаться передать его через project, поэтому project.context_url. $context_url и '$context_url' определенно не подойдут, поскольку первая из них - это просто переменная с именем $context_url, а вторая - экземпляр String - строки оценки работы с двойными кавычками ".

...