BASH_ENV или поиск файла в неинтерактивной оболочке без регистрации - PullRequest
3 голосов
/ 19 мая 2011

Мне нужно что-то развернуть, используя Hudson, поэтому я создал pom-файл для maven, и фаза, на которой я его запускаю, - это просто некий bash.

Проблема в том, что у меня есть настройки впользователи hudson bashrc и / или bash_profile, которые необходимы для запуска чего-либо, но, похоже, эти файлы не создаются при запуске через hudson / maven.Я действительно предпочел бы, чтобы он работал таким образом, а не использовал жестко запрограммированный материал и абсолютные пути к файлам.

Я читал в Интернете, что все, на что ссылается BASH_ENV, получено для неинтерактивной оболочки, не входящей в систему.Это то, что я предполагаю, что bash запускается как maven / hudson.

Но BASH_ENV пуст.И я не могу установить его в bashrc или bash_profile, потому что, как я уже сказал, они не получают, и даже / etc / profile, похоже, ничего не делает.

Есть ли способЯ могу установить BASH_ENV «навсегда», так что (надеюсь) он будет получен, когда Maven будет работать через Гудзон и по моим различным путям, и так будет, когда я захожу в машину?

1 Ответ

1 голос
/ 19 мая 2011

У вас есть несколько вариантов.Вероятнее всего, самое простое - это просто source файлы, от которых вы зависите, в вашем скрипте hudson bash.Это самодокументировано и понятно.В противном случае вы можете установить BASH_ENV в сценарии, который запускает ваш демон hudson и он будет распространяться на дочерние процессы.Прочтите мой пост в блоге о том, почему переменные среды считаются вредными для моего случая против их использования.

...