Есть ли какой-то способ хранить неконфиденциальные данные в Jenkins, привязанные к конфигурации сборки, чтобы их можно было прочитать из скрипта конвейера?
Мы переходим на новый сервер Octopus Deploy, и наш Jenkinsfile выглядит так:
трубопровод {
среда {
OCTOPUS_CLI_SERVER = "https://octopus.example.com"
OCTOPUS_CLI_API_KEY = учетные данные ("Octopus_Deploy_ApiKey")
}
// ...
}
Я могу обновить ключ API централизованно с помощью диспетчера учетных данных Jenkins, но мне придется отредактировать и зафиксировать изменение в OCTOPUS_CLI_SERVER
в каждой ветке, поскольку URL-адрес жестко запрограммирован. Пока я меняю это, мне интересно, есть ли лучший способ, чем просто жестко закодировать новое значение.
я мог сохраните URL-адрес сервера Octopus в диспетчере учетных данных и получите доступ к нему таким же образом, но тогда его значение будет удалено из журналов, и это может раздражать. В идеале то, что я ищу, может иметь разную ценность для нескольких проектов. Например, и проект A, и проект B могут прочитать переменную с именем «PUBLIC_DOMAIN», но один из них получит «a.example.com», а другой — «b.example.com».
Я упоминаю Octopus Deploy, потому что это изменение, которое мы вносим, но этот вопрос может относиться к любым данным, доступ к которым осуществляется из конвейера Jenkins, это не относится к Octopus Deploy.