如何在詹金斯进入chroot

时间:2015-01-27 01:49:51

标签: jenkins automation chroot chromium-os

您好我正在尝试在Jenkins服务器上自动执行同步和构建铬构建的过程 http://www.chromium.org/chromium-os/quick-start-guide

./chromite/bin/cros_sdk --enter

我正在尝试运行这样的东西,所需的输出预计是一个改变的主目录的chroot提示,我有一个Jenkins奴隶,当我手动执行这些步骤时,我能够进入chroot没有任何问题它为我提供了更改的主目录,路径显示了我需要它进行下一步的地方,

但是当我在同一台计算机上使用相同的凭据将其转换为Jenkins Execute Shell时,它无法进入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'

这是我在Jenkins得到的

手动

./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'

我得到了一条带有相同信息的额外行,当它从詹金斯工作开始时,是否有机会退出一半?

非常感谢任何输入。

由于 PREM

1 个答案:

答案 0 :(得分:1)

当你自己运行cros_sdk时,它需要一个交互式提示。我想Jenkins没有连接终端(按设计),这意味着尝试使用它并没有多大意义。

我们设计了该工具,因此可以轻松编写脚本。如果你想要在chroot中运行一些命令,只需将其作为参数传递:

$ cros_sdk -- ls /
bin  build  dev  etc  home  lib  lib32  lib64 ....

我认为应该能得到你需要的一切。