Рейтинг:0

Установите переменные среды области действия для конвейера Jenkins из Jenkins, а не из Jenkinsfile.

флаг my

Есть ли какой-то способ хранить неконфиденциальные данные в 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.

Рейтинг:0
флаг jp

Есть почти неограниченные способы сделать это. Вот три, которые приходят на ум:

  • Вы можете использовать Общая библиотека Jenkins Pipeline для хранения значений конфигурации в центральном месте.

  • Вы можете сохранить значение в удаленном файле или репозитории, а ваш конвейер считывает значение из удаленного файла или файла в репозитории.

  • Вы можете заставить конвейер получать значение с другого сервера через HTTP REST API.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.