2014-08-15 2 views
1

Я строю установку Jenkins для автоматизации сборки iOS (Xcode).Установить переменную окружения Jenkins в Python

поток прямо сейчас выглядит следующим образом:

  1. Сложение запускается удаленно. Передача имени приложения, идентификатора пакета, URL профиля предоставления (среди других данных).
  2. Дженкинс извлекает последнюю версию кода из git.
  3. Сценарий Python запускается для редактирования файла Info.plist приложения на основе данных, предоставленных в триггере. Этот скрипт Python также устанавливает профиль подготовки, используя this approach.
  4. Дженкинс использует Xcode Plugin для создания проекта.

Плагин Xcode позволяет указать UUID профиля обеспечения, который будет использоваться для создания приложения. Файл Python на шаге 3 получает этот UUID. Итак, теперь мне нужно сохранить этот UUID, чтобы он был доступен в обычной текстовой форме для использования Xcode Plugin.

Я использовал EnvInject Plugin для создания и установки переменной окружения, которая работает и может использоваться в плагине Xcode. Но я не могу установить эту переменную среды из любого сценария (Python или Shell) во время выполнения задания, ее можно установить только на странице конфигурации задания.

Надеюсь, кто-то может помочь. Благодаря!

+1

возможно дубликат [Как установить переменную окружения Дженкинс из сценарий] (http://stackoverflow.com/questions/23785651/how-to-set-jenkins-environment-variable-from-script) – skrrgwasme

ответ

0

Но я не могу установить эту переменную окружения из любого сценария (Python или Shell) в то время как работа выполняется,

Да вы можете.

  • Ваш сценарий Python/Shell необходимо записать значение в формате param=value на заданный path/to/file.props (с некоторыми возвратно-поступательный, этот путь может быть динамическим тоже).
  • Настройка EnvInject для чтения из этой path/to/file.props
  • Итак:

    1. Python/Shell работает динамически и записывает в файл.
    2. EnvInject читает файл и загружает переменные среды, в том числе $param
    3. Ваш $param теперь доступен для остальной работы/скрипты
Смежные вопросы