Как ввести chroot на Дженкинс
Привет, я пытаюсь автоматизировать процесс синхронизации и сборки хрома на сервере Дженкинс http://www.chromium.org/chromium-os/quick-start-guide
./chromite/bin/cros_sdk --enter
я пытаюсь запустить что-то вроде этого, ожидаемый вывод, как ожидается, будет приглашение chroot с измененным домашним каталогом, у меня есть подчиненное устройство Jenkins, и когда я делаю эти шаги вручную, я могу ввести chroot без каких-либо проблем, и это обеспечивает меня с измененным домашним каталогом, и путь показывает, где я должен быть для следующего шага,
Но когда я добавляю это в оболочку Jenkins Execute на той же машине и с теми же учетными данными, он не может войти в chroot,
./chromite/bin/cros_sdk --enter --log-level=debug
15:59:05: DEBUG: Cache dir lookup.
15:59:05: DEBUG: Configured cache_dir to '/media/1TB/home/qcaswnbu/jenkins1/workspace/Brillo_trial/.cache'
Это то, что я получаю в Дженкинс
Хотя вручную
./chromite/bin/cros_sdk --enter --log-level=debug
17:27:05: DEBUG: Cache dir lookup.
17:27:05: DEBUG: Configured cache_dir to '/media/1TB/home/qcaswnbu/jenkins1/workspace/Brillo_trial/.cache'
17:27:05: DEBUG: Configured cache_dir to '/media/1TB/home/qcaswnbu/jenkins1/workspace/Brillo_trial/.cache'
я получаю дополнительную строку с тем же сообщением, может ли быть шанс, что он выйдет на полпути, когда он будет инициирован с работы Дженкинса?
Любой вклад с благодарностью.
Спасибо прем
1 ответ
Когда ты бежишь cros_sdk
Само собой, он ожидает интерактивного приглашения. я думаю, что у Дженкинса нет подключенного терминала (по замыслу), что означает, что пытаться использовать его таким образом, не имеет большого смысла.
Мы разработали инструмент, чтобы его можно было легко написать в сценарии. если у вас есть какая-то команда, которую вы хотите запустить внутри chroot, просто передайте ее в качестве аргумента:
$ cros_sdk -- ls /
bin build dev etc home lib lib32 lib64 ....
Я думаю, что это должно дать вам все, что вам нужно.