我正在进行Jenkins自由式构建,将其放入VM并运行一些现有脚本。在构建步骤“使用ssh在远程主机上执行shell脚本”期间,一切正常,直到我找到命令:“ chroot .sh”。这将装入我们构建的rootfs,如果我手动执行此步骤,则会使我进入sh提示符,在该提示符下可以运行另一个脚本来进行实际构建,但是Jenkins到此将永远挂起。
从环顾四周看来,这是因为命令没有返回完成信号吗?,因此Jenkins无限期地等待。我还尝试过使用包含所需命令的文本文件在Putty中执行相同的步骤。此时,Putty的“脚本”也将失败,由于出现了新的sh提示,因此将停止任何输入。
有什么办法解决吗?我尝试了各种解决方案,例如: Nohup chroot。 sh 1>&2-当然这不起作用 并且在后台运行命令不会使我进入所需的chroot环境。
这时有点困惑。
编辑: 代码段:
cd /home/dev/root_env
chroot . sh
cd /home/dev
./build.sh
从字面上看,这就是我正在做的所有事情,但是我永远冻结在第二行。