指南针在Jenkins CI上编译

时间:2016-05-17 14:11:41

标签: jenkins continuous-integration compass

我的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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,

sudo会尝试打开/dev/tty进行读写。您可能没有在用于构建的计算机上使用/dev/tty。在tty文件中配置了/etc/sudoers的需求。

sudo有一个选项-S从标准输入而不是/dev/tty读取密码。您应该能够使用sudo -S进行编译。

  

-S(stdin)选项使sudo从标准输入而不是终端设备读取密码。密码必须后跟换行符。

http://linux.die.net/man/8/sudo