我的CI环境中有以下执行脚本
cd /var/www/html
php vendor/bin/phpunit app/tests --log-junit /var/lib/jenkins/jobs/Closecall/workspace/tests/reports/junit.xml
php vendor/bin/phinx migrate -e development
sudo compass compile
SSH到CI并编译自己工作正常,但是当CI在构建时执行此操作时,我得到以下错误
+ sudo compass compile
sudo: no tty present and no askpass program specified
Build step 'Execute shell' marked build as failure
Recording test results
Finished: FAILURE
有什么想法吗?
答案 0 :(得分:0)
sudo
会尝试打开/dev/tty
进行读写。您可能没有在用于构建的计算机上使用/dev/tty
。在tty
文件中配置了/etc/sudoers
的需求。
sudo
有一个选项-S从标准输入而不是/dev/tty
读取密码。您应该能够使用sudo -S
进行编译。
-S(stdin)选项使sudo从标准输入而不是终端设备读取密码。密码必须后跟换行符。